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的枚举。_Prot
默认文件打开保护,相当于在 _fsopen, _wfsopen的 shflag 参数。
返回值
如果文件指针是null指针,该函数返回null指针。否则,它将返回 this。
备注
成员函数通过调用 fopen打开包含文件名 文件名,(文件名,strmode)。strmode 由确定的 mode &~(ate & | 二进制):
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 不为零,该函数追加 b 到 strmode 打开二进制流而不是文本流。它在文件指针 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