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