basic_filebuf::close
ファイルを閉じます。
basic_filebuf<Elem, Tr> *close( );
戻り値
このメンバー関数は、ファイル ポインターが null ポインターの場合、null ポインターを返します。
解説
閉じる の 呼び出し fclose (fp)。 この関数の戻り値 0 以外の値、関数の戻り値 null ポインター。 それ以外の場合は、ファイルが正常に終了したことを示すために this を返します。
以降の広範なストリームにストリームが開いて、または streamposへの最後のオーダー、挿入が行われた場合は関数呼び出し オーバーフローから。 また、最初の変換状態に戻すために必要に応じて fac.unshift を呼び出すときにファイルの変換fac ファセットを使用して必要なシーケンスを挿入します。 したがって、生成された型 char の各要素 byte は、ファイル ポインター fp で指定されている関連のストリームにフォーム fputc (byte、fp) の連続呼び出しによって記述されます。 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