funcion sustituir en c++
Hola,estoy intentando hacer una funcion en c++ que lo que haga es: dada una linea de un fichero.txt y una palabra introducida por teclado, quiero que si esa palabra introducida,está en esa linea de fichero,me la cambie por otra palabra tb introducida por teclado. Este es mi codigo de dicha funcion, pero solo me funciona cuando la palabra a cambiar esta al principio de la linea, si esta x el medio o el final no lo hace.
void SustituirPalabra(string &frase,string palCambio,string palNueva)
{
int i=0,j=0,k=0,l=0;
bool fin=false;
string aux="";
string parte1="";
string parte2="";
for(i=0;((i<(int)frase.length()-(int)palCambio.length() +1 )&& (fin==false));i++){
for(j=0;j<(int)palCambio.length();j++){
aux=aux+frase[i+j];
if(aux==palCambio){
for(k=0;k<i;k++){
parte1=parte1+frase[k];
}
for(l=(i+palCambio.length());l<(int)frase.length();l++){
parte2=parte2+frase[l];
}
frase=parte1+palNueva+parte2;
fin=true;
i=i+palNueva.length();
}
}
}
}
¿Alguna sugerencia? Nesito ayuda es urgente!! Gracias.
Un salu2.
|