欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

c++ setstate() 和 clear() 函数

发布时间:2024/4/18 c/c++ 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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() 函数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。