Udostępnij przez


getchar, getwchar

Odczytuje znak ze standardowych danych wejściowych.

Składnia

int getchar();
wint_t getwchar();

Wartość zwracana

Zwraca odczyt znaku. Te funkcje czekają na dane wejściowe i nie zwracają się, dopóki dane wejściowe nie będą dostępne.

Aby wskazać błąd odczytu lub warunek końca pliku, getchar zwraca wartość EOFi getwchar zwraca wartość WEOF. W przypadku getcharpolecenia użyj polecenia ferror lub feof , aby sprawdzić błąd lub pod kątem końca pliku.

Uwagi

Każda rutyna odczytuje pojedynczy znak z stdin i zwiększa skojarzony wskaźnik pliku, aby wskazać następny znak. getchar jest taka sama jak _fgetchar, ale jest implementowana jako funkcja i jako makro.

Te funkcje blokują również wątki wywołujące i są bezpieczne wątkowo. Aby uzyskać wersję nieblokającą, zobacz _getchar_nolock_getwchar_nolock, .

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

TCHAR.H Rutynowych _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_gettchar getchar getchar getwchar

Wymagania

Procedura Wymagany nagłówek
getchar <stdio.h>
getwchar <stdio.h> lub <wchar.h>

Konsola nie jest obsługiwana w aplikacjach platformy platforma uniwersalna systemu Windows (UWP). Standardowe dojścia strumienia skojarzone z konsolą programu stdin, stdouti i stderrmuszą zostać przekierowane, zanim funkcje czasu wykonywania języka C będą mogły ich używać w aplikacjach platformy UWP. Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// crt_getchar.c
// Use getchar to read a line from stdin.

#include <stdio.h>

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

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

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

This textInput was: This text

Zobacz też

We/Wy strumienia
getc, getwc
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc