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
預設檔案開頭保護,則為 shflag 參數的對等用法 (以 _fsopen、_wfsopen為單位)。
傳回值
如果檔案指標為 null 指標,則函式會傳回 null 指標。 否則,會傳回 this。
備註
成員函式會呼叫 fopen開啟有檔名 " filename "中的檔案,檔名, ( 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 指標,函式來判斷檔案轉換 Facet: use_facet<Elemcodecvt<, char,提供 反向溢位 和 溢位使用的 traits_type::state_type> >(getloc)。
如果檔案指標為 null 指標,則函式會傳回 null 指標。 否則,會傳回 this。
範例
為使用 open的請參閱 basic_filebuf::close 。
需求
標題: <fstream>
命名空間: std