Sdílet prostřednictvím


getc, getwc

Čtení znaku ze streamu

Syntaxe

int getc(
   FILE *stream
);
wint_t getwc(
   FILE *stream
);

Parametry

stream
Vstupní datový proud

Vrácená hodnota

Vrátí přečtený znak. Chcete-li označit chybu čtení nebo ukončení podmínky souboru, getc vrátí EOFa getwc vrátí WEOF. Pro getcpoužití ferror nebo feof kontrolu chyby nebo ukončení souboru. Pokud stream je NULL, getc a getwc vyvolat neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, vrátí tyto funkce EOF (nebo WEOF pro getwc) a nastaví errno na EINVALhodnotu .

Další informace o návratových kódech naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.

Poznámky

Každá rutina načte jeden znak ze souboru na aktuální pozici a zvýší přidružený ukazatel souboru (pokud je definovaný) tak, aby odkazovat na další znak. Soubor je přidružen stream.

Tyto funkce zamknou volající vlákno a jsou proto bezpečné pro přístup z více vláken. Informace o nezamykání verze naleznete v tématu _getc_nolock, _getwc_nolock.

Následují poznámky specifické pro rutinu.

Rutina Poznámky
getc Stejné jako fgetc, ale implementované jako funkce a jako makro.
getwc Širokoznační verze .getc Přečte vícebajtový znak nebo široký znak podle toho, zda stream je otevřen v textovém režimu nebo v binárním režimu.

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
_gettc getc getc getwc

Požadavky

Rutina Požadovaný hlavičkový soubor
getc <stdio.h>
getwc <stdio.h> nebo <wchar.h>

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

Příklad

// crt_getc.c
// Use getc to read a line from a file.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;

    // Read a single line from the file "crt_getc.txt".

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }

    // Terminate string with a null character
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}

Vstup: crt_getc.txt

Line one.
Line two.

Výstup

Input was: Line one.

Viz také

Vstupně-výstupní operace streamu
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc