C++ IOS 库 - rdstate


描述

它用于检查获取错误状态标志。内部错误状态标志是通过调用流上的输入/输出函数自动设置的,以指示某些错误。

宣言

以下是 ios::rdstate 函数的声明。

iostate rdstate() const;

参数

没有任何

返回值

ios_base::iostate 类型的对象,可以包含以下状态标志成员常量的任意组合 -

iostate价值

(成员常数)

表示 检查状态标志的函数
好的() 结束时间() 失败() 坏的() rdstate()
好比特 无错误(零值iostate true false false false 好比特
尾数 输入操作到达文件结尾 false true false false 尾数
故障位I/O 操作逻辑错误 false false true false 故障位
坏比特I/O 操作读/写错误 false false true true 坏比特

例外情况

强保证- 如果抛出异常,流中不会发生任何变化。

数据竞争

访问流对象。

对同一流对象的并发访问可能会导致数据争用。

例子

下面的示例显示了 ios::rdstate。

#include <iostream>     
#include <fstream>      

int main () {
   std::ifstream is;
   is.open ("test.txt");
   if ( (is.rdstate() & std::ifstream::failbit ) != 0 )
      std::cerr << "Error opening 'test.txt'\n";
   return 0;
}
ios.htm