cin.clear()
cin.clear() 将流cin中的所有状态值都重设为有效状态.
不懂这句是什么意思.
[解决办法]
我们谈谈cin.clear的作用,第一次看到这东西,很多人以为就是清空cin里面的数据流,而实际上却与此相差很远,首先我们看看以下代码:
- C/C++ code
#include <iostream> using namespace std; int main() { int a; cin>>a; cout<<cin.rdstate()<<endl; if(cin.rdstate() == ios::goodbit) { cout<<"输入数据的类型正确,无错误!"<<endl; } if(cin.rdstate() == ios_base::failbit) { cout<<"输入数据类型错误,非致命错误,可清除输入缓冲区挽回!"<<endl; } system("pause"); }