Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con buffer utilizado para leer con fgets()

Estas en el tema de Duda con buffer utilizado para leer con fgets() en el foro de C/C++ en Foros del Web. Hola que tal? Estaba haciendo un trabajo para la facultad, y necesitaba leer lineas desde un archivo de texto, para despues parsearlas. Yo lo hice ...
  #1 (permalink)  
Antiguo 25/09/2010, 14:19
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 6 meses
Puntos: 0
Duda con buffer utilizado para leer con fgets()

Hola que tal? Estaba haciendo un trabajo para la facultad, y necesitaba leer lineas desde un archivo de texto, para despues parsearlas. Yo lo hice de la siguiente manera, la cual me funcionó bien, pero el corrector me lo marcó como un error porque limito el buffer.

char* buffer = (char*)malloc(256*sizeof(char));
fgets(buffer, 256, archivo);
...
...
free(buffer);

como puedo hacer para leer desde un archivo sin limitar el buffer?
Muchas gracias!
  #2 (permalink)  
Antiguo 28/09/2010, 19:43
Avatar de douglasloza  
Fecha de Ingreso: abril-2008
Ubicación: Santa Tecla, El Salvador, El Salvador
Mensajes: 35
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Duda con buffer utilizado para leer con fgets()

mm... no se mucho de eso, pero y si liberas el buffer antes y despues de utilizarlo?
o si haces un fflush... pueda ser C:
  #3 (permalink)  
Antiguo 28/09/2010, 19:49
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 13 años, 11 meses
Puntos: 228
Respuesta: Duda con buffer utilizado para leer con fgets()

el fflush no tiene nada que ver a la hora de leer de un archivo. Este se usa para forzar la impresion en pantalla.

Lo de "limitar" el buffer puede referirse con que una linea puede tener mas de 256 caracteres, por eso estas limitando el buffer. En ciertas ocasiones no te entraria la linea entera en el buffer.
  #4 (permalink)  
Antiguo 28/09/2010, 21:05
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Duda con buffer utilizado para leer con fgets()

de hecho, no solo se usa para la impresión en pantalla, se usa para forzar las operaciones de lectura/escritura y bien se puede usar sobre un fichero

Etiquetas: buffer, fgets, lectura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:19.