I want replace a line of text in a file, but I don't know a functions to this.
I have this:
ofstream outfile("text.txt");
ifstream infile("text.txt");
infile >> replace whit other text;
Any answers for this?
I miss to say, for add text in Some line in the file...
Example
infile.add(text, line);
Does C++ have functions for this?
I'm afraid you'll probably have to rewrite the entire file. Here is how you could do it:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string strReplace = "HELLO";
string strNew = "GOODBYE";
ifstream filein("filein.txt"); //File to read from
ofstream fileout("fileout.txt"); //Temporary file
if(!filein || !fileout)
{
cout << "Error opening files!" << endl;
return 1;
}
string strTemp;
//bool found = false;
while(filein >> strTemp)
{
if(strTemp == strReplace){
strTemp = strNew;
//found = true;
}
strTemp += "\n";
fileout << strTemp;
//if(found) break;
}
return 0;
}
Input-file:
ONE
TWO
THREE
HELLO
SEVEN
Output-file:
ONE
TWO
THREE
GOODBYE
SEVEN
Just uncomment the commented lines if you only want it to replace the first occurance. Also, I forgot, in the end add code that deletes filein.txt and renames fileout.txt to filein.txt.