_fgetchar
, _fgetwchar
Lee un carácter de una cadena stdin
.
Sintaxis
int _fgetchar( void );
wint_t _fgetwchar( void );
Valor devuelto
_fgetchar devuelve el carácter leído como int
o devuelve EOF
para indicar un error o el final del archivo. _fgetwchar devuelve, como , wint_t
el carácter ancho que corresponde al carácter leído 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.
Comentarios
Estas funciones leen un solo carácter de stdin
. 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.
_fgetchar
equivale a fgetc( stdin )
. También es equivalente a getchar
, pero solo se implementa como una función, en lugar de como una función y una macro. _fgetwchar
es la versión con caracteres anchos de _fgetchar
.
Estas funciones no son compatibles con el estándar ANSI.
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 |
---|---|---|---|
_fgettchar |
_fgetchar |
_fgetchar |
_fgetwchar |
Requisitos
Función | Encabezado necesario |
---|---|
_fgetchar |
<stdio.h> |
_fgetwchar |
<stdio.h> o <wchar.h> |
La consola no se admite en las aplicaciones de la Plataforma universal de Windows (UWP). Los identificadores de flujo estándar asociados a la consola, stdin
, stdout
y stderr
, se deben redirigir antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones para UWP. Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// crt_fgetchar.c
// This program uses _fgetchar 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 )
{
char buffer[81];
int i, ch;
// Read in first 80 characters and place them in "buffer":
ch = _fgetchar();
for( i=0; (i < 80 ) && ( feof( stdin ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = _fgetchar();
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
}
Line one.
Line two.Line one.
Line two.