读书人

cin.clear(istream:failbit)和cin.cle

发布时间: 2012-05-28 17:59:33 作者: rapoo

cin.clear(istream::failbit)和cin.clear()的区别
while(in>>ival,!in.eof())
{
if(in.bad ())
throw runtime_error("stream corrupted");
if(in.fail ())
{
cerr<<"bad data,try again"<<endl;
in.clear (istream::failbit );
in.ignore (1024,'\n');
continue;

}
cout<<ival<<endl;
}
问题被讨论过很多次,用in.clear(),程序正常运行,
不过我发现当用in.clear(istream::failbit)时候,非法输入情况下,程序竟然是死循环,没有输入阶段

?搞不清楚原因。。。,请大神解答

[解决办法]
istream::failbit
The last input operation failed because of an error related to the internal logic of the operation itself.
找点资料你看下

读书人网 >C++

热点推荐