首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于c++ IO类的条件状态的疑惑解决方法

2012-03-13 
关于c++ IO类的条件状态的疑惑我现在正在看c++ primer第八章,对于P248页的这个程序我感到很费解int ivalw

关于c++ IO类的条件状态的疑惑
我现在正在看c++ primer第八章,对于P248页的这个程序我感到很费解
int ival;
while(cin>>ival,!cin.eof())
{
  if(cin.bad())
  throw runtime_error("IO stream corrupted");
  if(cin,fail())
  {
  cerr<<"bad data,try again";
  cin.clear(istream::failbit);
  continue;
  }
   
}
首先cin.clear(istream::failbit)的作用是什么,这样做的话不是cin的状态依旧是fail吗,这样程序不就是死循环么?
然后我将上句改为cin.clear(istream::goodbit),程序运行后依旧是死循环,求各位帮我看一下,究竟是怎么回事,是
我理解错误了么

[解决办法]
to 主楼和5楼,把这行

C/C++ code
cin.clear(failbit); 

热点排行