Cpp-standard-library-cpp-ios-clear

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

C ++ IOSライブラリクリア

説明

エラー状態フラグを設定するために使用されます。 フラグの現在の値は上書きされます。すべてのビットは状態のビットに置き換えられます。状態がgoodbit(ゼロ)の場合、すべてのエラーフラグがクリアされます。

この関数が呼び出されたときにストリームにストリームバッファが関連付けられていない場合、badbitフラグが自動的に設定されます(引数状態で渡されたビットの値に関係なく)。

宣言

以下は、ios
clear関数の宣言です。
void clear (iostate state = goodbit);

パラメーター

state -値として次の状態フラグメンバー定数の任意の組み合わせをとることができるios_base
iostate型のオブジェクト-

`+ iostate +`値

(メンバー定数)

示す

状態フラグをチェックする関数

+ good()+

+ eof()+

+ fail()+

+ bad()+

+ rdstate()+

+ goodbit +

エラーなし(ゼロ値 + iostate +

+ true +

+ false +

+ false +

+ false +

+ goodbit +

+ eofbit +

入力操作でファイルの終わりに達しました

+ false +

+ true +

+ false +

+ false +

+ eofbit +

+ failbit +

I/O操作の論理エラー

+ false +

+ false +

+ true +

+ false +

+ failbit +

+ badbit +

I/O操作での読み取り/書き込みエラー

+ false +

+ false +

+ true +

+ true +

+ badbit +

戻り値

none

例外

基本保証-例外がスローされた場合、ストリームは有効な状態です。 結果のエラー状態フラグがgoodbitではなく、その状態に対してメンバー例外が設定されている場合、メンバータイプエラーの例外をスローします。

データの競合

ストリームオブジェクトを変更します。

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

以下の例では、ios
clear関数について説明しています。
#include <iostream>
#include <fstream>

int main () {
   char buffer [80];
   std::fstream myfile;

   myfile.open ("test.txt",std::fstream::in);

   myfile << "test";
   if (myfile.fail()) {
      std::cout << "Error writing to test.txt\n";
      myfile.clear();
   }

   myfile.getline (buffer,80);
   std::cout << buffer << " successfully read from file.\n";

   return 0;
}