std::basic_ios::clear
From cppreference.com
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
state | - | new error state flags setting. It can be a combination of the following constants:
|
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 (public member function) | |
returns state flags (public member function) |