std::basic_ios<CharT,Traits>::clear
来自cppreference.com
void clear( std::ios_base::iostate state = std::ios_base::goodbit ); |
||
通过以 state
的值赋值,设置流错误状态标志。默认赋值 std::ios_base::goodbit ,它拥有的效果为清除所有错误状态标志。
若 rdbuf() 为空指针(即无关联的流缓冲),则赋值 state | badbit 。可能抛出异常。
参数
state | - | 新的错误状态标志设置。它能为下列常量的组合:
|
返回值
(无)
异常
本节未完成 原因:也链接到 basic_ios::exceptions |
示例
无参数的 clear() 能用于在不期待的输入后反设置 failbit
运行此代码
#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'; }
参阅
设置状态标志 (公开成员函数) | |
返回状态标志 (公开成员函数) |