读书人

死循环!该如何处理

发布时间: 2012-03-03 15:33:04 作者: rapoo

死循环!
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键退出!
[解决办法]

[解决办法]

读书人网 >C++

热点推荐