SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: antlcn en Miércoles 17 de Marzo de 2010, 16:08

Título: sustituir linea de un fichero de texto
Publicado por: antlcn en Miércoles 17 de Marzo de 2010, 16:08
hola, estoy haciendo un programa que trabaja con un fichero de texto y necesito una función que modifique una linea, el programa consiste en introducir en un fichero de texto titulo (de un libro), autor y editorial...cada dato en una linea...tal que así:

libro1
autor1
editorial1
libro2
autor2
editorial2...

a la funcion se le pasas el titulo del libro (ya que la busqueda se hace por titulo) y también la nueva editorial, tengo esto..pero no funciona y por mas vueltas que le doy no lo saco.
Código: C
  1. void modificarEditorial(char *fichero, char *titulo, char *Nedit)
  2. {
  3.     FILE *f;
  4.     char *aux;
  5.     if((f=fopen(fichero, "r+"))==NULL){
  6.         printf("nError al abrir ficheron");
  7.         exit(-1);
  8.     }
  9.     while(fscanf(f, "%s", aux)==1){
  10.         if(strcmp(aux, titulo)==0){
  11.             fseek(f, 2, SEEK_CUR);
  12.             fputs(Nedit, f);
  13.         }
  14.     }            
  15.     fclose(f);
  16. }
  17.  

un saludo

y gracias de antemano!