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

死循环!该如何处理

2012-03-03 
死循环!int ival// 读取cin,但是只测试EOFwhile (cin ival , !cin.eof()){if (cin.bad())throw runtim

死循环!
int ival;
// 读取cin,但是只测试EOF
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;
  }
// ok to process ival
}
这是C++primer里的一段代码,我调试了一下,进入死循环,请问各位大虾是什么原因!

[解决办法]
这个程序应该只是一部份。有个throw。如果用try作用这段,再用catch,应该就可以跳出了吧?
[解决办法]
输入ctrl+d结束输入,等于输入了EOF,跳出死循环。

[解决办法]
while(!cin.eof()) //直至按ctrl+z键退出!
[解决办法]

[解决办法]

热点排行