共用方式為


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::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 而非文字資料流。 在檔案指標 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

請參閱

參考

basic_filebuf 類別

iostream 程式設計

iostreams 慣例