Cpp-standard-library-cpp-ios-good

提供:Dev Guides
移動先:案内検索

C ++ IOSライブラリ-良い

説明

ストリームの状態が良好かどうかを確認するために使用されます。

宣言

以下は、ios
good()関数の宣言です。
bool good() const;

パラメーター

none

戻り値

ストリームの状態フラグがどれも設定されていない場合はtrue。

ストリームの状態フラグのいずれかが設定されている場合(badbit、eofbit、またはfailbit)はfalse。

例外

強力な保証-例外がスローされた場合、ストリームに変更はありません。

データの競合

ストリームオブジェクトにアクセスします。

同じストリームオブジェクトへの同時アクセスは、データの競合を引き起こす可能性があります。

以下の例では、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