次の方法で共有


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::outios_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 を追加します。これは、ファイル ポインターで fpfopen によって返される値を格納します。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

参照

関連項目

basic_filebuf Class

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

入出力ストリームの規則