Partilhar via


_fgetchar, _fgetwchar

Lê um caractere de stdin.

Sintaxe

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

Valor retornado

_fgetchar retorna o caractere lido como um int ou retorna EOF para indicar um erro ou o fim do arquivo. _fgetwchar retorna, como um wint_t, o caractere largo que corresponde ao caractere lido ou retorna WEOF para indicar um erro ou fim de arquivo. Para ambas as funções, use feof ou ferror para distinguir entre um erro e uma condição de fim de arquivo.

Comentários

Essas funções leem um único caractere de stdin. A função, em seguida, incrementa o ponteiro de arquivo associado (se definido) para apontar para o próximo caractere. Se o fluxo estiver no fim do arquivo, o indicador de fim de arquivo para o fluxo será definido.

_fgetchar é equivalente a fgetc( stdin ). Também é equivalente a getchar, mas implementado apenas como uma função, e não como uma função e uma macro. _fgetwchar é a versão de caracteres largos do _fgetchar.

Essas funções não são compatíveis com o padrão ANSI.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_fgettchar _fgetchar _fgetchar _fgetwchar

Requisitos

Função Cabeçalho necessário
_fgetchar <stdio.h>
_fgetwchar <stdio.h> ou <wchar.h>

Não há suporte para o console em aplicativos UWP (Plataforma Universal do Windows). Os identificadores de fluxo padrão associados ao console, stdin, stdout e stderr, devem ser redirecionados antes que as funções em tempo de execução C possam usá-los em aplicativos UWP. Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

E/S de fluxo
fputc, fputwc
getc, getwc