FreeBSD Manual Pages
std::basic_ios::clear(3) C++ Standard Libary std::basic_ios::clear(3) NAME std::basic_ios::clear - std::basic_ios::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. Parameters new error state flags setting. It can be a combination of the following constants: state - Constant Explanation goodbit no error badbit irrecoverable stream error failbit input/output operation failed (formatting or ex- traction error) eofbit associated input sequence has reached end-of-file Return value (none) Exceptions If the new error state includes a bit that is also included in the exceptions() mask, throws an exception of type failure. Example clear() without arguments can be used to unset the failbit after un- expected input; for std::cin.putback(c) see ungetc. // Run this code #include <iostream> #include <string> int main() { for (char c : {'\n', '4', '1', '.', '3', '\n', 'Z', 'Y', 'X'}) std::cin.putback(c); // emulate user's input (not portable: see ungetc Notes) double n; while( std::cout << "Please, enter a number: " && ! (std::cin >> n) ) { std::cin.clear(); std::string line; std::getline(std::cin, line); std::cout << line << "\nI am sorry, but '" << line << "' is not a number\n"; } std::cout << n << "\nThank you for entering the number " << n << '\n'; } Output: Please, enter a number: XYZ I am sorry, but 'XYZ' is not a number Please, enter a number: 3.14 Thank you for entering the number 3.14 See also setstate sets state flags (public member function) rdstate returns state flags (public member function) http://cppreference.com 2022.07.31 std::basic_ios::clear(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wios::clear&sektion=3&manpath=FreeBSD+Ports+15.0>
