home | help
std::getchar(3) 	       C++ Standard Libary		 std::getchar(3)

NAME
     std::getchar - std::getchar

Synopsis
	Defined in header <cstdio>
	int getchar();

	Reads the next character from stdin.

	Equivalent to std::getc(stdin).

Parameters
	(none)

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.

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 ASCII
		  return EXIT_SUCCESS;
	  }

	  // Test reason for reaching EOF.
	  if (std::feof(stdin)) // if failure caused by end-of-file condition
	      std::cout << "End of file reached\n";
	  else if (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);
	  }

	  return EXIT_SUCCESS;
      }

Possible output:
      abc
      a
      b
      c
      ^[

See also
	fgetc gets a character from a file stream
	getc  (function)
	C documentation for
	getchar

http://cppreference.com 	   2024.06.10			 std::getchar(3)

home | help