次の方法で共有


basic_filebuf::close

ファイルを閉じます。

basic_filebuf<Elem, Tr> *close( );

戻り値

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

解説

閉じる の 呼び出し fclose (fp)。 この関数の戻り値 0 以外の値、関数の戻り値 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 クラス

iostream プログラミング

iostreams の規則