c++ setstate() 和 clear() 函数
生活随笔
收集整理的这篇文章主要介绍了
c++ setstate() 和 clear() 函数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#include <iostream>
#include <string>
using namespace std;
int main()
{auto st1 = cin.rdstate(); //记住cin流的原始状态cout << "old state of stream is: "<< st1 << endl; //输出原始状态,因为是无错的,所以0表示值为:goodbitint c;cin >> c; //此处输入一个a,那么流发生错误,cout << cin.rdstate() << endl; //因为读入fail,所以cin.rdstate() 为 // failbit,也就是4auto st2 = cin.rdstate(); //记住此时的cin状态cin.clear(); //将cin清除所有错误标志位,就是值回到goodbitcout << cin.rdstate() << endl; //输出复位错误位后的状态,0cin.setstate(st2); //将st2的状态追加到cin状态中,failbit位被追加cout << cin.rdstate() << endl; //输出追加后的状态 即 cin.rdstate = failbitreturn 0;
}
setstate()函数并不强制覆盖流的原状态,而是将括号内参数所代表的状态叠加到原始状态上。
clear() 函数将流状态设置成括号内参数所代表的状态,强制覆盖掉流的原状态。
总结
以上是生活随笔为你收集整理的c++ setstate() 和 clear() 函数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: windows7下安装centos7双系
- 下一篇: C++ IO类(3) 文件流