Sustituir cadena de caracteres en c++
Hola,
Estoy haciendo una práctica que me han mandado para la facultad y necesito sustituir una palabra que busco en un fichero por otra que pido por pantalla, pero lo que me pasa es que a la hora de modificarlo, si la palabra que está en el fichero tiene cuatro letras por ejemplo, y la que quiero introducir tiene 6, me sobreescribe en la siguiente línea también.Os pongo un ejemplo:
En mi fichero tengo:
R2D2
Satelite
hola
y quiero sustituir R2D2 por camiones, pues me quedaría de la siguiente forma:
camionestelite
hola
Me ha sustitudo la palabra que quería, pero además, parte de la siguiente...
Como tengo que leer y escribir, el fichero lo abro en modo lectura y escritura(r+), y para retroceder en el fichero una vez encontrada la palabra que quiero leer uso la función fseek(puntero,distancia,SEEK_CUR).
Espero que me haya explicado bien, y que me podáis solucionar esto, porque llevo 3 días dándole vueltas y no consigo hacerlo bien...
Muchas gracias de antemano.
|