fgetc, fgetwc
Znak čtení z datového proudu.
int fgetc(
FILE *stream
);
wint_t fgetwc(
FILE *stream
);
Parametry
- stream
Ukazatel na FILE struktury.
Vrácená hodnota
fgetcVrátí znak, jako int nebo vrátí EOF k označení konce souboru nebo Chyba aplikace.fgetwcVrátí, jako wint_t, široký znak, který odpovídá znak čtení nebo vrátí WEOF k označení konce souboru nebo Chyba aplikace.Obě funkce pomocí feof nebo ferror rozlišovat chybu a podmínku konce souboru.Pokud se vyskytne chyba čtení, indikátor chyby pro datový proud je nastaven.Pokud stream je NULL, fgetc a fgetwc vyvolat popisovač neplatný parametr, jak je popsáno v Ověření parametru.Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátit se EOF.
Poznámky
Každá z těchto funkcí čte jeden znak z aktuální pozice soubor přidružený k stream.Funkce potom převedena přidružený ukazatel (Pokud je definována) přejděte na další znak.Je-li datový proud na konec souboru, je nastavit indikátor konce souboru datového proudu.
fgetcje ekvivalentní getc, ale je implementována pouze jako funkce, nikoli jako funkce a makra.
fgetwcje verze celého znaku fgetc; načte c jako vícebajtové znaky nebo širokými znaky podle zda stream je otevřen v režimu text nebo binary.
Verze s _nolock přípony jsou shodné s výjimkou, že nejsou chráněny z rušení jiné podprocesy.
Další informace o zpracování široké znaky a vícebajtových znaků v textu a binárních režimy, viz Proudu Unicode v/V v textu a binárních režimy.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_fgettc |
fgetc |
fgetc |
fgetwc |
Požadavky
Function |
Požadované záhlaví |
---|---|
fgetc |
<stdio.h> |
fgetwc |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
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ýsledek
Line one.
Line two.