Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2010, 08:56
gabilan81
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
ayuda para leer archivo en C caracter por caracter y almacenarlo en un char*

Hola, como andan? Tengo el siguiente problema al intentar leer linea a linea un archivo en C.
Lo que hago es leer caracter por caracter y agregarlo a un buffer, aumentando el tamaño del mismo cada vez que leo un caracter. Tengo que hacer esto, debido a que no puedo usar fgets para no limitar el tamaño de la línea leida.
Hice el siguiente código, pero no me funciona, necesitaria alguna ayudita para saber donde la estoy pifiando. Muchas gracias!


Código C:
Ver original
  1. FILE* archivo = fopen("archivo.txt"],"r");;
  2. char * buffer = NULL;
  3. while(!feof(archivo)
  4. {      
  5.         buffer = (char*)realloc(NULL, sizeof(char));
  6.         int c = fgetc(archivo),
  7.         i = 0;
  8.         while( c != '\n')
  9.         {
  10.             buffer[i] = c;
  11.             i++;
  12.             buffer = (char*)realloc(buffer, (i+1)*sizeof(char));
  13.             c = fgetc(archivo);
  14.         }
  15.         /*Agrego el \n al buffer*/
  16.         buffer = (char*)realloc(buffer, (i+1)*sizeof(char));
  17.         buffer[i] = c;
  18.  
  19.        /*Trabajar con el buffer*/
  20.        free(buffer);
  21. }