getchar
, getwchar
Считывает символ из стандартного входного потока.
Синтаксис
int getchar();
wint_t getwchar();
Возвращаемое значение
Возвращает считанный символ. Эти функции ожидают входных данных и не возвращаются до тех пор, пока входные данные не будут доступны.
Чтобы указать на ошибку чтения или конец файла, функция getchar
возвращает EOF
, а getwchar
возвращает WEOF
. Для функции getchar
следует использовать ferror
или feof
для проверки наличия ошибки или достижения конца файла.
Замечания
Каждая подпрограмма считывает один символ из stdin
и увеличивает связанный указатель файла, чтобы он указывал на следующий символ. getchar
совпадает с _fgetchar
тем же, но реализуется как функция и макрос.
Эти функции также блокируют вызывающий поток и являются потокобезопасны. Сведения о версии, отличной от блокировки, см. в статье _getchar_nolock
. _getwchar_nolock
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
TCHAR.H рутина |
_UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_gettchar |
getchar |
getchar |
getwchar |
Требования
Маршрут | Обязательный заголовок |
---|---|
getchar |
<stdio.h> |
getwchar |
<stdio.h> или <wchar.h> |
Консоль не поддерживается в приложениях универсальная платформа Windows (UWP). Стандартные дескрипторы потока, связанные с консолью, stdin
stdout
и stderr
, должны быть перенаправлены перед тем, как функции времени выполнения C могут использовать их в приложениях UWP. Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// 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
См. также
Потоковый ввод-вывод
getc
, getwc
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc