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.
Output
Line one.