_fgetchar, _fgetwchar
Lê um caractere de stdin.
int _fgetchar( void );
wint_t _fgetwchar( void );
Valor de retorno
_fgetchar retorna a leitura de caractere como um int ou retorna EOF para indicar um erro ou fim de arquivo. **_**fgetwchar retorna, como wint_t, o caractere largo que corresponde à leitura de caractere 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 incrementa o ponteiro do arquivo associado (se definido) para indicar o próximo caractere. Se o fluxo estiver no final do arquivo, o indicador de fim de arquivo para o fluxo é definido.
_fgetchar equivale a fgetc( stdin ). Também é equivalente a getchar, mas somente implementado como função, em vez de uma função e uma macro. _fgetwchar é a versão de caracteres largos de _fgetchar.
Essas funções não são compatíveis com o padrão ANSI.
Mapeamentos da 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> |
O console não tem suporte em aplicativos do Windows Store. Os manipuladores de fluxo padrão associados ao console — stdin, stdout e stderr — devem ser redirecionados antes que as funções de tempo de execução do C possam utilizá-los em aplicativos do Windows Store. Para obter mais 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 );
}