ios::good()函数

它用于检查流的状态是否良好。

声明

下面是ios::good()函数的声明。

bool good() const;

返回值

  • 返回 true ,如果没有设置流的状态标志。
  • 返回 false ,如果设置了流的状态标志(badbiteofbitfailbit)。

示例

下面的例子解释了ios::good()的使用。

#include <iostream>     
#include <sstream>      

void print_state (const std::ios& stream) {
   std::cout << " good()=" << stream.good();
   std::cout << " eof()=" << stream.eof();
   std::cout << " fail()=" << stream.fail();
   std::cout << " bad()=" << stream.bad();
}

int main () {
   std::stringstream stream;

   stream.clear (stream.goodbit);
   std::cout << "goodbit:"; print_state(stream); std::cout << '/n';

   stream.clear (stream.eofbit);
   std::cout << " eofbit:"; print_state(stream); std::cout << '/n';

   stream.clear (stream.failbit);
   std::cout << "failbit:"; print_state(stream); std::cout << '/n';

   stream.clear (stream.badbit);
   std::cout << " badbit:"; print_state(stream); std::cout << '/n';

   return 0;
}

编译和运行上面的程序,将产生以下结果 -

goodbit: good()=1 eof()=0 fail()=0 bad()=0
 eofbit: good()=0 eof()=1 fail()=0 bad()=0
failbit: good()=0 eof()=0 fail()=1 bad()=0
 badbit: good()=0 eof()=0 fail()=1 bad()=1

上一篇: basic_ios::basic_ios析构函数 下一篇: ios_event::eof()函数