fgetc, fgetwc
Lê um caractere de um fluxo.
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parâmetros
- stream
Ponteiro a estrutura de FILE .
Valor de retorno
fgetc retorna o caractere lido como int ou retorna EOF para indicar um erro ou uma extremidade de arquivo. retornafgetwc , como wint_t, o caractere largo que corresponde ao caractere ler ou retorna WEOF para indicar um erro ou uma extremidade de arquivo. Para ambas as funções, use feof ou ferror para distinguir entre um erro e uma condição de fim de arquivo. Se ocorre um erro de leitura, o indicador de erro para o fluxo será definido. Se stream é NULL, fgetc e fgetwc invoca o manipulador inválido do parâmetro, conforme descrito em Validação do parâmetro. Se a execução puder continuar, essas funções definirão errno como EINVAL e retornarão EOF.
Comentários
Cada uma dessas funções ler um único caractere da posição atual do arquivo associado com stream. 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.
fgetc é equivalente a getc, mas implementado apenas como uma função, em vez de como uma função e uma macro.
fgetwc é a versão de ampla caractere de fgetc; ler c como um caractere multibyte ou um caractere largo de acordo com o que stream está aberto no modo de texto ou no modo binário.
As versões com o sufixo _nolock são idênticas, exceto pelo fato de que não são protegidas contra interferência de outros threads.
Para obter mais informações sobre como processar caracteres amplos e caracteres multibyte nos modos de texto e binários, consulte Fluxo de E/S Unicode nos modos de texto e binários.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_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 informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
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.