std::basic_ios<CharT,Traits>::clear (3) - Linux Manuals

std::basic_ios<CharT,Traits>::clear: std::basic_ios<CharT,Traits>::clear

NAME

std::basic_ios<CharT,Traits>::clear - std::basic_ios<CharT,Traits>::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. May throw an exception.

Parameters


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


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

Return value


(none)

Exceptions


 This section is incomplete
 Reason: link to basic_ios::exceptions, too

Example


clear() without arguments can be used to unset the failbit after unexpected input
// Run this code


  #include <iostream>
  #include <string>


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

See also


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