Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Č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 definovaný |
_UNICODE definovaný |
|---|---|---|---|
_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.