Udostępnij za pośrednictwem


getc, getwc

Znak należy odczytać strumienia.

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

Parametry

  • stream
    Strumień wejściowy.

Wartość zwracana

Zwraca znak odczytu.Aby wskazać błąd odczytu lub warunek końca pliku getc zwraca EOF, i getwc zwraca WEOF.Dla getc, użyj ferror lub feof do sprawdzania błędu lub koniec pliku.Jeśli stream jest NULL, getc i getwc wywołania obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcje te zwracają EOF (lub WEOF dogetwc) i errno do EINVAL.

Zobacz _doserrno, errno, _sys_errlist i _sys_nerr więcej informacji na temat tych i innych kodów błędów.

Uwagi

Każdy rutynowych odczytuje pojedynczy znak z pliku w bieżącej pozycji i przyrosty wskaźnik skojarzony plik (Jeżeli zdefiniowane) pkt do następnego znaku.Plik jest skojarzony z stream.

Te funkcje zablokować wątek wywołujący i dlatego są bezpieczne dla wątków.Blokowania wersji, zobacz _getc_nolock, _getwc_nolock.

Postępuj zgodnie z uwagi na szczególne procedury.

Rozpoczęto wykonywanie procedury

Uwagi

getc

Taki sam jak fgetc, ale wdrożony jako funkcja i makra.

getwc

Wersja szerokich znaków z getc.Odczytuje znaków wielobajtowych lub szerokiego znaku zgodnie z czy stream jest otwierany w trybie tekst lub binarny.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_gettc

getc

getc

getwc

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

getc

<stdio.h>

getwc

<stdio.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

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

Dane wejściowe: crt_getc.txt

Line one.
Line two.

Dane wyjściowe

Input was: Line one.

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

We/Wy strumienia

fgetc, fgetwc

_getch, _getwch

putc, putwc

ungetc, ungetwc