Surajit Das Ответов: 1

Как Заменить Слово В Текстовом Файле На Языке 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

У вас должен быть выходной файл, и каждый раз, когда вы читаете строку, вы также записываете ее в выходной файл, независимо от того, изменена она или нет.

1 Ответов

Рейтинг:
0

KarstenK

прочитайте весь файл в виде строки и используйте заменять.

Убедитесь, что все строки заменены, а затем запишите новую строку в файл


Surajit Das

@KarstenK - мне очень жаль, но я не мог понять. Можете ли вы привести мне пример?