std::getchar
From cppreference.com
Defined in header <cstdio> | ||
int getchar(); | ||
Reads the next character from stdin.
Equivalent to std::getc(stdin).
Contents |
[edit]Parameters
(none)
[edit]Return value
The obtained character on success or EOF on failure.
If the failure has been caused by end of file condition, additionally sets the eof indicator (see std::feof()) on stdin. If the failure has been caused by some other error, sets the error indicator (see std::ferror()) on stdin.
[edit]Example
std::getchar
with error checking. Exit program by entering ESC char.
#include <cctype>#include <cstdio>#include <cstdlib>#include <iomanip>#include <iostream> int main(){for(int ch;(ch = std::getchar())!=EOF;)// read/print "abc" from stdin{if(std::isprint(ch))std::cout<<static_cast<char>(ch)<<'\n';if(ch ==27)// 'ESC' (escape) in ASCIIreturnEXIT_SUCCESS;} // Test reason for reaching EOF.if(std::feof(stdin))// if failure caused by end-of-file conditionstd::cout<<"End of file reached\n";elseif(std::ferror(stdin))// if failure caused by some other error{std::perror("getchar()");std::cerr<<"getchar() failed in file "<<std::quoted(__FILE__)<<" at line # "<< __LINE__ -14<<'\n';std::exit(EXIT_FAILURE);} returnEXIT_SUCCESS;}
Possible output:
abc a b c ^[
[edit]See also
gets a character from a file stream (function) | |
C documentation for getchar |