次の方法で共有


basic_filebuf::close

ファイルを閉じます。

basic_filebuf<Elem, Tr> *close( );

戻り値

このメンバー関数は、ファイル ポインターが null ポインターの場合、null ポインターを返します。

解説

[閉じる] の呼び出し fclose (fp)。この関数がゼロ以外の値を返した場合、関数は null ポインターを返します。それ以外の場合は、ファイルが正常終了したことを示すために this を返します。

以降の広範なストリームの認証ストリームが開いて、または streamposへの最後の挿入が行われた場合は、関数呼び出しから オーバーフロー。また、最初の変換の状態の復元に必要に応じて fac.unshift の呼び出しに変換 fac ファイルのファセットを使用して必要なシーケンスを挿入します。したがって、生成された型 char の各要素 byte は、ファイル ポインターが fp 関連付けられているストリームに示すように、フォーム fputc (bytefp) の連続呼び出しによって記述されます。fac.unshift または書き込みの呼び出しが失敗した場合、関数は失敗します。

使用例

次の例は、現在のディレクトリに 2 ファイルを前提としています: basic_filebuf_close.txt (コンテンツは、「テストすることです) および」 iotest.txt (コンテンツは、「」 ssss です)。

// basic_filebuf_close.cpp
// compile with: /EHsc
#include <fstream>
#include <iostream>

int main() {
   using namespace std;
   ifstream file;
   basic_ifstream <wchar_t> wfile;
   char c;
   // Open and close with a basic_filebuf
   file.rdbuf()->open( "basic_filebuf_close.txt", ios::in );
   file >> c;
   cout << c << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "iotest.txt" );
   file >> c;
   cout << c << endl;
   file.close( );

   // open a file with a wide character name
   wfile.open( L"iotest.txt" );

   // Open and close a nonexistent with a basic_filebuf
   file.rdbuf()->open( "ziotest.txt", ios::in );
   cout << file.fail() << endl;
   file.rdbuf( )->close( );

   // Open/close directly
   file.open( "ziotest.txt" );
   cout << file.fail() << endl;
   file.close( );
}
  

必要条件

ヘッダー: <fstream>

名前空間: std

参照

関連項目

basic_filebuf Class

入出力ストリームのプログラミング

入出力ストリームの規則