读书人

输入流状态查询,该如何解决

发布时间: 2012-03-30 17:32:09 作者: rapoo

输入流状态查询
Primer 四版248页
#include <iostream>
using namespace std;
int main()
{
int val;
while (cin>>val,!cin.eof())
{if (cin.bad())
throw runtime_error("输入流发生错误");
if(cin.fail())
{cerr<<"错误数据"<<endl;
cin.clear(iostream::failbit);
continue;
}
cout<<val<<endl;
}
return 0;

}
检查输入流是不是发生错误

当输入字母时
会一直有 ”错误数据“
怎么会这样?

[解决办法]
流的标志检验,对于这种类型不配(需要int,输入char)会不会导制failbit标志呢,你可以好好看下书复习一下!

读书人网 >C++

热点推荐