Hay un problema con el valor de retorno de la función fgets en lenguaje C. Si se lee el final de la cadena, ¿el valor de retorno de la función es NULL? ¿O simplemente leer hasta el final de la cadena?
Respecto a la función fgets() en lenguaje C, la función de esta función es leer una línea de texto de un archivo de texto. La función devolverá el búfer de cadena de lectura cuando tenga éxito y NULL cuando la lectura falle o llegue al final del archivo.
Por ejemplo, el siguiente código:
#define MAX 300
void main()
{
buffer de caracteres sin firmar[MAX];
FILE * fpr;
fpr = fopen("my_text.txt", "r);
if( fpr = = NULL ) /*No se pudo abrir el archivo de texto, luego salir*/
{
printf("¡Error al abrir el archivo!\n");
exit( 1);
}
fgets(buffer, MAX, fpr /*Leer una línea de datos del archivo de texto*/
while( ! feof (fpr) )/* Cuando el archivo de texto aún no se ha leído*/
{
printf("buffer is: s", buffer /*); Muestra el texto que acaba de leer Contenido del archivo*/
fgets(buffer, MAX, fpr /* Continuar leyendo la siguiente línea de datos*/
}
fclose(fpr); /* Cerrar archivo*/
}