fgetc
, fgetwc
Lea un carácter de una secuencia.
Sintaxis
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parámetros
stream
Puntero a la estructura FILE
.
Valor devuelto
fgetc
devuelve el carácter leído como int
o devuelve EOF
para indicar un error o el final de archivo. fgetwc
devuelve, como , wint_t
el carácter ancho que corresponde a la lectura de caracteres o devuelve WEOF
para indicar un error o un final del archivo. En el caso de las dos funciones, use feof
o ferror
diferenciar un error de una condición de fin de archivo. Si se produce un error de lectura, se establece el indicador de error para la secuencia. Si stream
es NULL
, fgetc
e fgetwc
invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones establecen errno
en EINVAL
y devuelven EOF
.
Comentarios
Cada una de estas funciones lee un único carácter de la posición actual del archivo asociado a stream
. A continuación, la función aumenta el puntero de archivo asociado (si está definido) para señalar al carácter siguiente. Si el flujo está al final del archivo, se establece la marca de fin de archivo para el flujo.
fgetc
equivale a getc
, pero solo se implementa como función, no como función y macro.
fgetwc
es la versión de caracteres anchos de fgetc
; lee c como un carácter multibyte o un carácter ancho cuando stream
se abre en modo de texto o en modo binario, respectivamente.
Las versiones con el sufijo _nolock
son idénticas, salvo que no están protegidas contra interferencias de otros subprocesos.
Para obtener más información sobre el procesamiento de caracteres anchos y caracteres multibyte en modos binarios y de texto, consulte E/S de secuencia 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 |
---|---|---|---|
_fgettc |
fgetc |
fgetc |
fgetwc |
Requisitos
Función | Encabezado necesario |
---|---|
fgetc |
<stdio.h> |
fgetwc |
<stdio.h> o <wchar.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// crt_fgetc.c
// This program uses getc to read the first
// 80 input characters (or until the end of input)
// and place them into a string named buffer.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *stream;
char buffer[81];
int i, ch;
// Open file to read line from:
fopen_s( &stream, "crt_fgetc.txt", "r" );
if( stream == NULL )
exit( 0 );
// Read in first 80 characters and place them in "buffer":
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
fclose( stream );
}
Entrada: crt_fgetc.txt
Line one.
Line two.
Output
Line one.
Line two.