这里是一个使用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来存储文件中的行,如果插入成功,说明该行之前没有出现过,就输出该行。这样就可以删除文件中的重复行了。

c++20 删除文件里的重复行

原文地址: https://www.cveoy.top/t/topic/sFO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录