读书人

cin.clear()解决方案

发布时间: 2012-04-24 14:15:38 作者: rapoo

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"); } 

读书人网 >C++

热点推荐