basic_filebuf::close
ファイルを閉じます。
basic_filebuf<Elem, Tr> *close( );
戻り値
このメンバー関数は、ファイル ポインターが null ポインターの場合、null ポインターを返します。
解説
[閉じる] の呼び出し fclose (fp)。この関数がゼロ以外の値を返した場合、関数は 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