# std::basic_ios::clear

From cppreference.com
< cpp‎ | io‎ | basic ios

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() == 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)

### 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

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ios/clear&oldid=83339"
Category:

- Todo with reason