_fgetchar, _fgetwchar

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Lee un carácter de una cadena stdin.

int _fgetchar( void );  
wint_t _fgetwchar( void );  

_fgetchar devuelve el carácter leído como int, o EOF para indicar un error o un final de archivo. _ fgetwchar devuelve, como un wint_t, el carácter ancho que corresponde al carácter leído o devuelve WEOF para indicar un error o el 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.

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
FunciónEncabezado necesario
_fgetchar<stdio.h>
_fgetwchar<stdio.h> o <wchar.h>

La consola no se admite en las aplicaciones de Tienda Windows 8.x. 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 8.x. Para obtener más información sobre compatibilidad, vea Compatibility.

// 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.  

E/S de secuencia
fputc, fputwc
getc, getwc

Mostrar: