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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_ios::clear - std::basic_ios::clear

Synopsis
	  void clear( std::ios_base::iostate state = std::ios_base::goodbit );

	  Sets	the  stream  error  state flags	by assigning them the value of
       state. By default,
	  assigns std::ios_base::goodbit which has the effect of clearing  all
       error state
	  flags.

	  If  rdbuf()  is  a  null pointer (i.e. there is no associated	stream
       buffer),	then state
	  | badbit is assigned.

Parameters
		  new error state flags	setting. It can	be  a  combination  of
       the following
		  constants:

	  state	- Constant Explanation
		  goodbit  no error
		  badbit   irrecoverable stream	error
		  failbit   input/output  operation  failed (formatting	or ex-
       traction	error)
		  eofbit   associated input sequence has reached end-of-file

Return value
	  (none)

Exceptions
	  If the new error state includes a bit	that is	also included  in  the
       exceptions()
	  mask,	throws an exception of type failure.

Example
	  clear() without arguments can	be used	to unset the failbit after un-
       expected	input;
	  for std::cin.putback(c) see ungetc.

       // Run this code

	#include <iostream>
	#include <string>

	int main()
	{
	    for	(char c	: {'\n', '4', '1', '.',	'3', '\n', 'Z',	'Y', 'X'})
		std::cin.putback(c);  //  emulate  user's input	(not portable:
       see ungetc Notes)

	    double n;
	    while( std::cout <<	"Please, enter a number: " && !	 (std::cin  >>
       n) )
	    {
		std::cin.clear();
		std::string line;
		std::getline(std::cin, line);
		std::cout  <<  line  <<	"\nI am	sorry, but '" << line << "' is
       not a number\n";
	    }
	    std::cout << n << "\nThank you for entering	the number " <<	 n  <<
       '\n';
	}

Output:
	Please,	enter a	number:	XYZ
	I am sorry, but	'XYZ' is not a number
	Please,	enter a	number:	3.14
	Thank you for entering the number 3.14

See also
	  setstate sets	state flags
		   (public member function)
	  rdstate  returns state flags
		   (public member function)

http://cppreference.com		  2022.07.31	      std::basic_ios::clear(3)

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

home | help