fgetc
, fgetwc
Lê um caractere de um fluxo.
Sintaxe
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parâmetros
stream
Ponteiro para a estrutura FILE
.
Retornar valor
fgetc
retorna o caractere lido como um int
ou retorna EOF
para indicar um erro ou o fim do arquivo. fgetwc
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. Se ocorrer um erro de leitura, o indicador de erro para o fluxo será definido. If stream
for NULL
e fgetc
chame fgetwc
o manipulador de parâmetros inválido, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essas funções definirão errno
como EINVAL
e retornarão EOF
.
Comentários
Cada uma dessas funções lê um único caractere da posição atual do arquivo associado a stream
. 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.
fgetc
é equivalente a getc
, mas implementado somente como uma função, em vez de uma função e uma macro.
fgetwc
é a versão de caracteres largos do fgetc
, ele lê c como um caractere multibyte ou um caractere largo quando stream
é aberto no modo de texto ou no modo binário, respectivamente.
As versões com o sufixo _nolock
são idênticas, exceto que não estão protegidas contra interferência de outros threads.
Para obter mais informações sobre como processar caracteres largos e caracteres multibyte nos modos de texto e binário, consulte E/S de fluxo Unicode nos modos de texto e binário.
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 |
---|---|---|---|
_fgettc |
fgetc |
fgetc |
fgetwc |
Requisitos
Função | Cabeçalho necessário |
---|---|
fgetc |
<stdio.h> |
fgetwc |
<stdio.h> ou <wchar.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_fgetc.c
// This program uses getc 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 )
{
FILE *stream;
char buffer[81];
int i, ch;
// Open file to read line from:
fopen_s( &stream, "crt_fgetc.txt", "r" );
if( stream == NULL )
exit( 0 );
// Read in first 80 characters and place them in "buffer":
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
// Add null to end string
buffer[i] = '\0';
printf( "%s\n", buffer );
fclose( stream );
}
Entrada: crt_fgetc.txt
Line one.
Line two.
Saída
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