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
);

参数

返回值

如果文件指针是null指针,该函数返回null指针。否则,它将返回 this

备注

成员函数通过调用 fopen打开包含文件名 文件名,(文件名strmode)。strmode 由确定的 mode &~(ate & | 二进制):

  • 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 不为零,该函数追加 bstrmode 打开二进制流而不是文本流。它在文件指针 fp然后存储 fopen 返回的值。If 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

示例

使用 打开的示例参见 basic_filebuf::close

要求

标头: <fstream>

命名空间: std

请参见

参考

basic_filebuf Class

iostream编程

(mfc)约定