std:: getchar
|
Определено в заголовке
<cstdio>
|
||
|
int
getchar
(
)
;
|
||
Считывает следующий символ из stdin .
Эквивалентно std:: getc ( stdin ) .
Содержание |
Параметры
(нет)
Возвращаемое значение
Полученный символ при успехе или EOF при неудаче.
Если сбой вызван условием конца файла, дополнительно устанавливает индикатор eof (см. std::feof() ) на stdin . Если сбой вызван другой ошибкой, устанавливает индикатор error (см. std::ferror() ) на stdin .
Пример
std::getchar
с проверкой ошибок. Выход из программы при вводе символа ESC.
#include <cctype> #include <cstdio> #include <cstdlib> #include <iomanip> #include <iostream> int main() { for (int ch; (ch = std::getchar()) != EOF ;) // чтение/вывод "abc" из stdin { if (std::isprint(ch)) std::cout << static_cast<char>(ch) << '\n'; if (ch == 27) // 'ESC' (escape) в ASCII return EXIT_SUCCESS; } // Проверка причины достижения EOF. if (std::feof(stdin)) // если сбой вызван условием конца файла std::cout << "Достигнут конец файла\n"; else if (std::ferror(stdin)) // если сбой вызван другой ошибкой { std::perror("getchar()"); std::cerr << "getchar() завершился ошибкой в файле " << std::quoted(__FILE__) << " в строке # " << __LINE__ - 14 << '\n'; std::exit(EXIT_FAILURE); } return EXIT_SUCCESS; }
Возможный вывод:
abc a b c ^[
Смотрите также
|
получает символ из файлового потока
(функция) |
|
|
Документация C
для
getchar
|
|