读书人

io流,该如何解决

发布时间: 2013-01-27 13:56:15 作者: rapoo

io流
各位大神,我刚学到io类里面的条件状态,我有几个问题想请教:
(1)我可以把条件状态理解为一个3位2进制数吗?而badbit、failbit、eofbit相当于常量条件状态,请问这样理解对吗?
(2)clear和setstate是实现同样的功能吗?
(3)为什么我每次设置failbit有效,badbit也会连带着有效,但是rdstate得到4,却不是6,请问这又是为什么啊?
[解决办法]

#include <iostream>
using namespace std;
int main()
{
cout << "输入流设置前的状态: " << endl;
cout << cin.bad() << cin.fail() << cin.eof() << endl;
cin.setstate(ios::failbit);
cout << "输入流设置第一次后的状态: " << endl;
cout << cin.bad() << cin.fail() << cin.eof() << endl;
cin.setstate(ios::badbit);
cout << "输入流设置第二次后的状态: " << endl;
cout << cin.bad() << cin.fail() << cin.eof() << endl;
return 0;
}

输出结果为:

000

010

110

读书人网 >C++

热点推荐