basic_filebuf::open
ファイルが開きます。
basic_filebuf<Elem, Tr> *open(
const char *_Filename,
ios_base::openmode _Mode,
int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
const char *_Filename,
ios_base::openmode _Mode
);
basic_filebuf<Elem, Tr> *open(
const wchar_t *_Filename,
ios_base::openmode _Mode,
int _Prot = (int)ios_base::_Openprot
);
basic_filebuf<Elem, Tr> *open(
const wchar_t *_Filename,
ios_base::openmode _Mode
);
パラメーター
_Filename
開くファイルの名前。_Mode
ios_base::openmodeの列挙型の 1 つが。_Prot
_fsopen、_wfsopenの shflag のパラメーターと同等の既定のファイルの開始保護。
戻り値
ファイル ポインターが null ポインターの場合、関数は null ポインターを返します。それ以外の場合は thisを返します。
解説
このメンバー関数は fopen (ファイル名、strmode) を呼び出してファイル名の ファイル名、ファイルを開きます。strmode は **mode &**に基づいて決定されます (|食べましたの & | バイナリ) :
ios_base::in は "r" (読み取りのために開いている既存ファイル) になります。
ios_base::out か ios_base::out | ios_base::trunc は "w" になります (切り捨て演算子。既存のファイルを書き込むためにまたは作成します)。
ios_base::out | app は "a" (すべての書き込みを追加すると、既存のファイル) になります。
ios_base::in | ios_base::out は "r+" (読み取りおよび書き込み用の開いている既存ファイル) になります。
ios_base::in | ios_base::out | ios_base::trunc は "w+" になります (切り捨て演算子。既存のファイルには、読み取りと書き込みにまたは作成します)。
ios_base::in | ios_base::out | ios_base::app は "a+" (読み取りと書き込みのすべてを追加すると、既存のファイル) になります。
mode&ios;base::binary が以外の場合、関数は strmode にテキスト ストリームではなく、バイナリなストリームを開くに b を追加します。これは、ファイル ポインターで fp、fopen によって返される値を格納します。mode&ios;base::ate が非ゼロで、ファイル ポインターが null ポインターである、ファイルの終端では、ストリームを設定する関数呼び出し fseek (fp、0、SEEK_END)。配置の操作が失敗した場合、関数呼び出し [閉じる] () とfpストア ファイル ポインターの null ポインター。
ファイル ポインターが null ポインターの場合、この関数は変換ファイルのファセットを決定します: use_facet<codecvt<Elem、char、アンダーフロー と オーバーフローで使用するための traits_type::state_type> > ()、getloc。
ファイル ポインターが null ポインターの場合、関数は null ポインターを返します。それ以外の場合は thisを返します。
使用例
openの使用例については basic_filebuf::close を参照してください。
必要条件
ヘッダー: <fstream>
名前空間: std