fgets, fgetws

Obtiene una cadena de una secuencia.

Sintaxis

char *fgets(
   char *str,
   int numChars,
   FILE *stream
);
wchar_t *fgetws(
   wchar_t *str,
   int numChars,
   FILE *stream
);

Parámetros

str
Ubicación de almacenamiento de los datos.

numChars
Número máximo de caracteres que se van a leer.

stream
Puntero a la estructura FILE .

Valor devuelto

Cada una de estas funciones devuelve str. Se devuelve NULL para indicar una condición de error o de final de archivo. Use feof o ferror para determinar si se ha producido un error. Si str o stream es un puntero nulo, o numChars es menor o igual que cero, esta función invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, errno está establecido en EINVAL y la función devuelve NULL.

Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

La función fgets lee una cadena en el argumento stream de entrada y la almacena en str. fgets lee los caracteres desde la posición de la secuencia actual hasta incluir el primer carácter de nueva línea al final de la secuencia o hasta que el número de caracteres leídos sea igual a numChars - 1, lo que ocurra primero. Se anexa un carácter nulo al resultado que se almacena en str. El carácter de nueva línea, cuando se lee, se incluye en la cadena.

fgetws es una versión con caracteres anchos de fgets.

fgetws lee el argumento str de caracteres anchos como una cadena de caracteres multibyte o como una cadena de caracteres anchos cuando stream se abre en modo de texto o en modo binario, respectivamente. Para obtener más información sobre el uso de modos binarios y de texto en E/S de secuencias Unicode y multibyte, vea E/S de archivos de modo binario y texto e E/S de secuencias Unicode en modos binarios y de texto.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_fgetts fgets fgets fgetws

Requisitos

Función Encabezado necesario
fgets <stdio.h>
fgetws <stdio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_fgets.c
// This program uses fgets to display
// the first line from a file.

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\numChars" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

Entrada: crt_fgets.txt

Line one.
Line two.

Salida

Line one.

Consulte también

E/S de secuencia
fputs, fputws
gets, _getws
puts, _putws