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ść EOF
i getwchar
zwraca wartość WEOF
. W przypadku getchar
polecenia 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 rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_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
, stdout
i i stderr
muszą 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