Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/12/2012, 02:21
Avatar de guzzano
guzzano
 
Fecha de Ingreso: julio-2010
Ubicación: Isla de Margarita
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 13
Respuesta: Duda curiosa con fgets

Gracias a todos por sus respuestas, la verdad no me supe explicar bien. Supongamos que intento leer una linea de 300, pero leo solamente 256, entonces me estaria cortando la linea (que es muy importante que la tenga correcta)

Solucione el problema de esta manera,
Código C:
Ver original
  1. void depends_parser(FILE *pkgfile_dir)
  2. {
  3.     char character, last_character = 0, *string_depends = NULL;
  4.     int count_character = 0, count_memory_add_string = 1;
  5.    
  6.     while ((character = getc(pkgfile_dir)) != EOF)
  7.     {
  8.         if (last_character == '\n' && character != '#')
  9.         {
  10.             break;
  11.         }
  12.         else
  13.         {
  14.                
  15.             string_depends = (char *) realloc(string_depends, count_memory_add_string);
  16.             string_depends[count_character] = character;
  17.             last_character = character;
  18.            
  19.             count_character++;
  20.             count_memory_add_string++;
  21.         }
  22.     }
  23. }

Ahí me copia todo lo que queria a una variable, y guardo el numero de caracteres antes del \n para con un bucle utilizar fgets de acuerdo al tamaño.

Muchas gracias! :)