c++20 删除文件里的重复行
这里是一个使用C++20的示例程序,可以删除指定文件中的重复行:
#include <fstream>
#include <iostream>
#include <unordered_set>
int main() {
std::string filename = "test.txt";
std::ifstream input(filename);
if (!input.is_open()) {
std::cerr << "Failed to open file: " << filename << std::endl;
return 1;
}
std::unordered_set<std::string> lines; // 用于存储文件中的行
std::string line;
while (std::getline(input, line)) {
if (lines.insert(line).second) { // 如果插入成功,说明该行之前没有出现过
std::cout << line << std::endl;
}
}
return 0;
}
该程序的主要思路是使用std::unordered_set来存储文件中的行,如果插入成功,说明该行之前没有出现过,就输出该行。这样就可以删除文件中的重复行了。
原文地址: https://www.cveoy.top/t/topic/sFO 著作权归作者所有。请勿转载和采集!