fgetc, fgetwc

Legge un carattere dal flusso.

Sintassi

int fgetc(
   FILE *stream
);
wint_t fgetwc(
   FILE *stream
);

Parametri

stream
Puntatore alla struttura FILE .

Valore restituito

fgetc restituisce il carattere letto come int o restituisce EOF per indicare un errore o la fine del file. fgetwc restituisce, come , wint_til carattere wide che corrisponde al carattere letto o restituisce WEOF per indicare un errore o una fine del file. Per entrambe le funzioni, usare feof o ferror per distinguere tra un errore e una condizione di fine del file. Se si verifica un errore di lettura, viene impostato l'indicatore di errore per il flusso. Se stream è NULLfgetc e fgetwc richiamare il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni impostano errno su EINVAL e restituiscono EOF.

Osservazioni:

Ognuna di queste funzioni legge un singolo carattere dalla posizione corrente del file associato a stream. La funzione quindi incrementa il puntatore del file associato (se definito) per puntare al carattere successivo. Se il flusso è alla fine del file, viene impostato l'indicatore di fine del file per il flusso.

fgetc è equivalente a getc, ma è implementata solo come funzione, anziché come funzione e macro.

fgetwc è la versione a caratteri wide di fgetc; legge c come carattere multibyte o un carattere wide quando stream viene aperto rispettivamente in modalità testo o in modalità binaria.

Le versioni con il _nolock suffisso sono identiche, ad eccezione del fatto che non sono protette da interferenze da altri thread.

Per altre informazioni sull'elaborazione di caratteri wide e caratteri multibyte in modalità testo e binario, vedere I/O del flusso Unicode in modalità testo e binaria.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Mapping di routine di testo generico

Routine TCHAR.H _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_fgettc fgetc fgetc fgetwc

Requisiti

Funzione Intestazione obbligatoria
fgetc <stdio.h>
fgetwc <stdio.h> o <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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 );
}

Input: crt_fgetc.txt

Line one.
Line two.

Output

Line one.
Line two.

Vedi anche

I/O di flusso
fputc, fputwc
getc, getwc