Поделиться через


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). Стандартные дескрипторы потока, связанные с консолью, stdinstdoutи 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