_fgetchar
, _fgetwchar
Lê um caractere de stdin
.
Sintaxe
int _fgetchar( void );
wint_t _fgetwchar( void );
Retornar valor
_fgetchar retorna o caractere lido como um int
ou retorna EOF
para indicar um erro ou o fim do arquivo. _fgetwchar retorna, como um , o caractere largo que corresponde ao caractere lido ou retorna WEOF
para indicar um wint_t
erro ou fim do 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, em vez de 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, consulte Estado global na 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 — , stdout
e stderr
—stdin
devem ser redirecionados antes que as funções de 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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de