В C++ Как выбрать строки в текстовом файле, содержащие определенное ключевое слово, и скопировать их в другой текстовый файл
Привет, у меня есть текстовый файл , который содержит около 2000 записей, я хочу только
скопируйте строки из файла в выходной файл, содержащий определенные ключевые слова, например:
Если файл имеет следующие строки:
Alabama Local Government Alabama Local Government Bibb County, Alabama Private Bibb County, Alabama Private Blount County, Alabama State Government Blount County, Alabama State Government Blount County, Alabama Local Government Blount County, Alabama Local Government Blount County, Alabama Private Blount County, Alabama Private Bullock County, Alabama State Government Bullock County, Alabama State Government Bullock County, Alabama Local Government Bullock County, Alabama Local Government Bullock County, Alabama Private Bullock County, Alabama Private Butler County, Alabama State Government Butler County, Alabama State Government Butler County, Alabama Local Government Butler County, Alabama Local Government Butler County, Alabama Private Butler County, Alabama Private Calhoun County, Alabama Federal Government Calhoun County, Alabama Federal Government Calhoun County, Alabama State Government
Я только хочу скопировать строки, которые имеют ключевое слово "Private", я не могу понять, что я должен делать? Пожалуйста помочь.
Что я уже пробовал:
Я пытался следовать за ним, но после нескольких часов работы зашел в тупик
#include <iostream> #include <fstream> #include <iomanip> #include <string> bool isWanted(const std::string & line) { // any selection criteria you like return (line.find("Private") != std::string::npos); } int main() { std::ifstream in_file {"input.csv"}; std::ofstream out_file {"output.csv"}; if (!in_file.is_open()) { std::cerr << "Error opening input file" << std::endl; return 1; } if (!in_file.is_open()) { std::cerr << "Error opening input file" << std::endl; return 1; } std::string line{}; int line_number {0}; while (getline(in_file, line)) { if (isWanted(line)) out_file<<line<<std::endl; //if (line == "") // out_file << std::endl; else else out_file << std::endl; } std::cout << "\nCopy complete" << std::endl; in_file.close(); out_file.close(); return 0; }