Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/10/2010, 11:00
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 6 meses
Puntos: 9
Respuesta: ayuda para leer archivo en C caracter por caracter y almacenarlo en un cha

Hola, soy nuevo en el foro, pero creo que te puedo ayudar con esto.

En realidad tienes varios problemillas.

Una sentencia la terminaste con , en lugar de ;
Declaras la variablec dentro del bucle while, hazlo fuera.
Siempre que trabajes con archivos trata de leer la cadena/caracter al final del bucle para que realmente pueda verificar si has llegado al final del archivo, he visto muchos problemas cuando leen al principio, como que no sale del bucle, o te arooja basura, y cosas por el estilo. bueno aqui te dejo tu codigo con algunos cambios que le hize, ya funciona correctamente.
Código:
 
#include <stdio.h>
#include <stdlib.h>

int main(){
  FILE* archivo = fopen("archivo.txt","r");
  char * buffer = NULL;
  int i, c;
  c = fgetc(archivo);
  while(!feof(archivo))
    {
      buffer = (char*)realloc(NULL, sizeof(char));
        i = 0;
      while( c != '\n')
        {
          buffer[i] = c;
          i++;
          buffer = (char*)realloc(buffer, (i+1)*sizeof(char));
          c = fgetc(archivo);
        }
      /*Agrego el \n al buffer*/
      buffer = (char*)realloc(buffer, (i+2)*sizeof(char));
      buffer[i] = c;
      buffer[i+1] = 0;
      /*Trabajar con el buffer*/
      printf("%s", buffer);
      free(buffer);
      c = fgetc(archivo);
    }
  close(archivo);
}

Saludos = 0;