次の方法で共有


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 は **モード &**から決定されます (|食べました& | バイナリ) :

  • ios_base::in"r" (読み取りのために開く既存のファイル) になります。

  • ios_base::out または ios_base::out | ios_base::trunc"w" になります (切り捨て"を、既存のファイルを書き込むためにまたは作成します)。

  • ios_base::out | アプリ"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 が 0 以外のの場合、関数は strmode にテキスト ストリームではなくバイナリ ストリームを開くに b を付けます。 これは、ファイル ポインター fpfopen によって返される値を格納します。 mode & ios_base::ate が 0 以外のであり、ファイル ポインターが null ポインターである、ファイルの終端にストリームを配置する関数呼び出し fseek (fp、0、SEEK_END)。 その位置の操作が失敗した場合、関数呼び出し 閉じる (fp) およびストア ファイル ポインターの null ポインター。

ファイル ポインターが null ポインターの場合、これは、変換ファイルのファセットの確認: use_facet<codecvt<Elem、char、アンダーフローオーバーフローで使用するための traits_type::state_type> > (getloc)。

ファイル ポインターが null ポインターの場合、関数の戻り値 null ポインター。 それ以外の場合は thisを返します。

使用例

開くの使用例については、basic_filebuf::close を参照してください。

必要条件

ヘッダー: の <fstream>

名前空間: std

参照

関連項目

basic_filebuf クラス

iostream プログラミング

iostreams の規則