Compartilhar via


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.

Valor retornado

fgetc retorna o caractere lido como um int ou retorna EOF para indicar um erro ou o fim do arquivo. fgetwc 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. Se ocorrer um erro de leitura, o indicador de erro para o fluxo será definido. Se stream for NULLe fgetc chame fgetwc o manipulador de parâmetro 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 caractere largo de fgetc; lê c como um caractere multibyte ou um caractere largo quando stream é aberto no modo de texto ou modo binário, respectivamente.

As versões com o sufixo _nolock são idênticas, exceto pelo fato de não serem protegidas contra interferência de outros threads.

Para obter mais informações sobre o processamento de 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, 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
_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

E/S de fluxo
fputc, fputwc
getc, getwc