_fgetchar, _fgetwchar
Lee un carácter de una cadena stdin.
int _fgetchar( void );
wint_t _fgetwchar( void );
Valor devuelto
_fgetchar devuelve el carácter leído como int, o EOF para indicar un error o un final de archivo. **_**fgetwchar devuelve, en forma de wint_t, el carácter ancho correspondiente al carácter leído, o devuelve WEOF para indicar un error o un final de 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 es equivalente a fgetc( stdin ). También equivale a getchar, pero implementado solo como función, y no 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.
Asignaciones de rutina 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 Tienda Windows. Se deben redirigir los identificadores estándar de flujo que están asociados a la consola, stdin, stdout y stderr, antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones de Tienda Windows. Para obtener más información sobre compatibilidad, vea 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 );
}