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双系
- 下一篇: s3c2440移植MQTT