1. 程式人生 > >c語言檔案開啟模式

c語言檔案開啟模式

轉載)      

 在C語言的檔案操作語法中,開啟檔案檔案有以下12種模式,如下圖: 

開啟模式

 只可以讀 

 只可以寫 

讀寫兼備

文字模式

r

w

a

r+

w+

a+

二進位制模式

rb

wb

ab

 rb+ (r+b) 

 wb+ (w+b) 

 ab+ (a+b) 

 

       其中,二進位制模式與文字模式操作相似,只不過是以二進位制流的形式讀寫而已,下面以文字模式為例分析:

       1."r" 模式:

              1.1 開啟檔案進行“只讀

”操作,即只能從檔案讀取內容。

              1.2 若欲操作的檔案不存在,則開啟失敗

              1.3 成功開啟檔案時,檔案指標位於檔案開頭

              1.4 開啟檔案後,不會清空檔案內原有內容。

              1.5 可從檔案中任意位置

讀取內容。

       2."w" 模式:

              2.1 開啟檔案進行“只寫”操作,即只能向檔案寫入內容。

              2.2 若欲操作的檔案不存在,則新建檔案

              2.3 成功開啟檔案時,檔案指標位於檔案開頭

              2.4 開啟檔案後,會清空檔案內原有的內容。

              2.5 可向檔案中任意位置寫入內容,且進行寫入操作時,會覆蓋原有位置的內容。

       3."a" 模式:

              3.1 開啟檔案進行“追加”操作,即只能向檔案寫入內容。

              3.2 若欲操作的檔案不存在,則新建檔案

              3.3 成功開啟檔案時,檔案指標位於檔案結尾

              3.4 開啟檔案後,不會清空檔案內原有內容。

              3.5 只能向檔案末尾追加(寫)內容。

       4."r+"模式:

              4.1 開啟檔案進行“讀寫”操作,即既可讀取,又可寫入。

              4.2 若欲操作的檔案不存在,則開啟失敗

              4.3 成功開啟檔案時,檔案指標位於檔案開頭

              4.4 開啟檔案後,不會清空文件內原有內容。

              4.5 無論是讀取內容還是寫入內容,都可在檔案中任意位置進行,且進行寫入操作時,會覆蓋原有位置的內容。

       5."w+"模式:

              5.1 開啟檔案進行“讀寫”操作,即既可讀取,又可寫入。

              5.2 若欲操作的檔案不存在,則新建檔案

              5.3 成功開啟檔案時,檔案指標位於檔案開頭

              5.4 開啟檔案後,會清空檔案內原有的內容。

              5.5 無論是讀取內容還是寫入內容,都可在檔案中任意位置進行,且進行寫入操作時,會覆蓋原有位置的內容。

       6."a+"模式:

              6.1 開啟檔案進行“讀寫”操作,即既可讀取,又可寫入。

              6.2 若欲操作的檔案不存在,則新建檔案

              6.3 成功開啟檔案時,檔案指標位於檔案結尾

              6.4 開啟檔案後,不會清空檔案內原有內容。

              6.5 讀取內容時,可以在任意位置進行,但寫入內容時,只會追加在檔案尾部。

        附表格加強記憶:

 

 開啟模式 

 簡述 

 若欲操作的 

 檔案不存在 

 成功開啟檔案後 

檔案指標位置

 是否清空 

 原有內容 

讀取位置

寫入位置

r

只讀

開啟失敗

開頭

 任意位置讀取 

不可寫入

-

w

只寫

新建

開頭

不可讀取

 任意位置寫入 

 寫入時會覆蓋原有位置內容 

a

新建

結尾

不可讀取

 只能尾部寫入 

-

r+

讀寫

開啟失敗

開頭

 任意位置讀取 

 任意位置寫入 

 寫入時會覆蓋原有位置內容 

w+

新建

開頭

 任意位置讀取 

 任意位置寫入 

 寫入時會覆蓋原有位置內容 

a+

新建

結尾

 任意位置讀取 

 只能尾部寫入 

-

 

       不同的開啟模式對應不同的操作方式,使用時需仔細規劃。