Función de la biblioteca C -fgets()
Biblioteca estándar de C - <stdio.h>
Descripción
Función de la biblioteca Cchar *fgets(char *str, int n, FILE *stream)Lee una línea del stream especificado y la almacena enstrla cadena a la que apunta. Cuando se leen(n-1)caracteres, o cuando se lee un carácter de nueva línea, o cuando se alcanza el final del archivo, se detiene, según lo que ocurra primero.
Declaración
La siguiente es la declaración de la función fgets().
char *fgets(char *str, int n, FILE *stream)
Parámetros
- str-- Este es un puntero a un array de caracteres, que almacena la cadena que se va a leer.
- n-- Este es el número máximo de caracteres a leer (incluido el carácter nulo final). Normalmente se usa la longitud del array pasado como str.
- stream-- Este es un puntero a un objeto FILE, que identifica el stream del cual se leerán los caracteres.
Valor de retorno
Si tiene éxito, la función devuelve el mismo parámetro str. Si se llega al final del archivo o no se lee ningún carácter, el contenido de str permanece sin cambios y se devuelve un puntero nulo.
Si ocurre un error, se devuelve un puntero nulo.
Ejemplo
El siguiente ejemplo demuestra el uso de la función fgets().
Ejemplo
int main()
{
FILE *fp;
char str[60];
/* Abre el archivo para lectura */
fp = fopen("file.txt" , "r");
if(fp == NULL) {
perror("Ocurrió un error al abrir el archivo");
return(-1);
}
if( fgets (str, 60, fp)!=NULL ) {
/* Escribe en la salida estándar stdout */
puts(str);
}
fclose(fp);
return(0);
}
Supongamos que tenemos un archivo de textofile.txt, cuyo contenido es el siguiente. El archivo se utilizará como entrada en el ejemplo:
We are in 2014
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
We are in 2014Otras extensiones