Как Заменить Слово В Текстовом Файле На Языке C++?
Я пытаюсь найти слово и заменить его в текстовом файле. Теперь я могу успешно найти это слово в текстовом файле, но не могу его заменить. Может ли кто-нибудь подсказать мне, где я допустил ошибку? Спасибо.
#include <iostream> #include <fstream> #include<string> using namespace std; int main(){ ifstream input; ofstream output; output.open("Book1.txt",ios::app); int choice; size_t pos; size_t p; string line; string a; string id; cout<<"enter the name you want to search"<<endl; cin>>a; string replace = "hello"; size_t len = a.length(); input.open("Book1.txt",ios::out); if(input.is_open()) { while(getline(input,line)) { pos = line.find(a); if(pos!=string::npos) { line.replace(pos,len,replace); cout<<"Name://IDnumber//Account-Balance"<<" "<<line<<endl; } } } system("pause"); }
Richard MacCutchan
У вас должен быть выходной файл, и каждый раз, когда вы читаете строку, вы также записываете ее в выходной файл, независимо от того, изменена она или нет.