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

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


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


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.


        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



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


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::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)