Condividi tramite


fgetc, fgetwc

Leggere un carattere da un flusso.

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

Parametri

  • stream
    Puntatore alla struttura FILE.

Valore restituito

fgetc restituisce il carattere letto come un int o restituisce EOF per indicare un errore o EOF. fgetwc restituisce, come un wint_t, il carattere di tipo esteso che corrisponde al carattere di lettura o restituisce WEOF per indicare un errore o EOF. Per entrambe le funzioni, utilizzare feof o ferror per distinguere un errore da una condizione di EOF. Se avviene un errore di lettura, l'indicatore di errore per il flusso viene impostato. Se stream è NULL, fgetc e fgetwc invocano il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, queste funzioni impostano errno a EINVAL e restituiscono EOF.

Note

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

fgetc equivale a getc, ma viene implementato solo come funzione, anziché come una funzione e macro.

fgetwc è la versione a caratteri estesi di fgetc; legge c come carattere multibyte o un carattere esteso a seconda di come stream viene aperto se in modalità testo o in modalità binario.

Le versioni con il suffisso _nolock sono identiche ma non sono protette da interferenze da parte di altri thread.

Per ulteriori informazioni sui caratteri di tipo "wide" e i caratteri multibyte di elaborazione in modo binario e testo, vedere Flusso I/O Unicode in modalità binario e del testo.

Mapping di routine a Testo generico

TCHAR.H routine

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_fgettc

fgetc

fgetc

fgetwc

Requisiti

Funzione

Intestazione obbligatoria

fgetc

<stdio.h>

fgetwc

<stdio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

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.

Equivalente .NET Framework

Vedere anche

Riferimenti

I/O di flusso

fputc, fputwc

getc, getwc