Consegui o seguinte codigo que edita strings de arquivo txt, que por sinal funciona direitinho. Agora quero transformar isso em um método para poder ser chamado por qualquer classe, só que quando estou transformando em método vejo que ele chama outro método dentro ( find_and_replace( line , strcomma , strspace ); ): void editor(){
codigo
void find_and_replace( line , strcomma , strspace )
codigo
}
ou seja, método dentro de método, gostaria de saber como prosseguir. obrigado
o codigo:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream myfile_in ("catalogo.txt");
ofstream myfile_out ("catalogo1.txt");
string line;
void find_and_replace( string &source, string find, string replace ) {
size_t j;
for (; (j = source.find( find )) != string::npos; ) {
source.replace( j, find.length(), replace );
}
myfile_out << source <<endl;
cout << source << endl;
}
int main () {
int i = 0;
string strcomma;
string strspace;
while (! myfile_in.eof() )
{
getline (myfile_in,line);
strcomma ="Joao"; // texto que sai
strspace ="Maria"; // texto que entra
find_and_replace( line , strcomma , strspace );
i++;
}
myfile_in.close();
system("PAUSE");
return 0;
}
............................
Estou fazendo um programinha em c++ que guarda o nome e rg da pessoa em um arquivo qualquer(no caso estou usando txt), consigo gravar e ler usando a biblioteca fstream porém não consigo editar o arquivo.
ex:
nome: Joao
rg:222
gostaria de editar
nome:Maria
rg:333
a gravação pode ser feita em qualquer tipo de arquivo txt, xml, dat, etc.
c alguém tiver uma solução...
obrigado