Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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, addition-
       ally 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 con-
       dition
		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)

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::getchar&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help