Linux下open與fopen的區別

來源:互聯網
上載者:User

Linux下open與fopen的區別 int open(const char *path, int access,int mode)    path 要開啟的檔案路徑和名稱      www.2cto.com    access 訪問模式,宏定義和含義如下:                                O_RDONLY         1    唯讀開啟                                 O_WRONLY         2    唯寫開啟                                 O_RDWR           4    讀寫開啟                             還可選擇以下模式與以上3種基本模式相與:                                O_CREAT     0x0100   建立一個檔案並開啟                            O_TRUNC     0x0200   開啟一個已存在的檔案並將檔案長度設定為0,其他屬性保持                     O_EXCL      0x0400   未使用                                        O_APPEND    0x0800   追加開啟檔案                                 O_TEXT      0x4000   開啟文字檔翻譯CR-LF控制字元                 O_BINARY    0x8000   開啟二進位字元,不作CR-LF翻譯                  www.2cto.com                           mode 該參數僅在access=O_CREAT方式下使用,其取值如下:              S_IFMT      0xF000   檔案類型掩碼                              S_IFDIR     0x4000   目錄                                      S_IFIFO     0x1000   FIFO 專用                                 S_IFCHR     0x2000   字元專用                                  S_IFBLK     0x3000   塊專用                                    S_IFREG     0x8000   只為0x0000                                S_IREAD     0x0100   可讀                                      S_IWRITE    0x0080   可寫                                      S_IEXEC     0x0040   可執行        FILE *fopen(char *filename, char *mode)    filename 檔案名稱    mode 開啟模式:                                                    r   唯讀方式開啟一個文字檔                                   rb  唯讀方式開啟一個二進位檔案                                 w   唯寫方式開啟一個文字檔                                   wb  唯寫方式開啟一個二進位檔案                                 a   追加方式開啟一個文字檔                                   ab  追加方式開啟一個二進位檔案                                 r+  可讀可寫方式開啟一個文字檔                               rb+ 可讀可寫方式開啟一個二進位檔案                             w+  可讀可寫方式建立一個文字檔                               wb+ 可讀可寫方式產生一個二進位檔案                             a+  可讀可寫追加方式開啟一個文字檔                           ab+ 可讀可寫方式追加一個二進位檔案   www.2cto.com  open和fopen的區別:前者屬於低級IO,後者是進階IO。前者返回一個檔案描述符,後者返回一個檔案指標。前者無緩衝,後者有緩衝。前者與 read, write 等配合使用, 後者與 fread, fwrite等配合使用。後者是在前者的基礎上擴充而來的,在大多數情況下,用後者。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.