Sdílet prostřednictvím


fgetc, fgetwc

Čtení znaku ze streamu

Syntaxe

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

Parametry

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

fgetc vrátí znak přečtený jako znak int nebo vrátí EOF označující chybu nebo konec souboru. fgetwc vrátí jako wint_tznak široký znak, který odpovídá čtení znaku, nebo se vrátí WEOF k označení chyby nebo konce souboru. Pro obě funkce použijte feof nebo ferror rozlišovat mezi chybou a podmínkou ukončení souboru. Pokud dojde k chybě čtení, nastaví se indikátor chyby datového proudu. Pokud stream je NULL, fgetc a fgetwc vyvolat neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce jsou nastaveny errno na EINVAL a vracet EOF.

Poznámky

Každá z těchto funkcí čte jeden znak z aktuální pozice souboru přidruženého streamk . Funkce pak zvýší přidružený ukazatel souboru (pokud je definován) tak, aby odkazovat na další znak. Pokud je datový proud na konci souboru, nastaví se indikátor koncového souboru datového proudu.

fgetc je ekvivalentní funkci getc, ale je implementována pouze jako funkce, nikoli jako funkce a makro.

fgetwc je verze širokého znaku fgetc; čte c jako vícebajtový znak nebo široký znak při stream otevření v textovém režimu nebo v binárním režimu.

Verze s příponou _nolock jsou shodné s tím rozdílem, že nejsou chráněny před rušením jinými vlákny.

Další informace o zpracování širokých znaků a vícebajtových znaků v textovém a binárním režimu najdete v tématu Vstupně-výstupní operace datového proudu Unicode v textových a binárních režimech.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Mapování rutin obecného textu

Rutina TCHAR.H _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_fgettc fgetc fgetc fgetwc

Požadavky

Function Požadovaný hlavičkový soubor
fgetc <stdio.h>
fgetwc <stdio.h> nebo <wchar.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

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

Vstup: crt_fgetc.txt

Line one.
Line two.

Výstup

Line one.
Line two.

Viz také

Vstupně-výstupní operace streamu
fputc, fputwc
getc, getwc