std::basic_ios::clear

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

Clears the stream error state flags by assigning them the value of state. If rdbuf() == 0 then state | badbit is assigned. May throw an exception.

Parameters

state - new error state flags setting. It can be a combination of the following constants:
Constant Explanation
goodbit no error
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).

Example

clear() without arguments can be used to unset the failbit after unexpected input.

#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
(public member function)
returns state flags
(public member function)
doc_CPP
2016-10-11 10:00:47
Comments
Leave a Comment

Please login to continue.