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+

新建

結尾

 任意位置讀取 

 只能尾部寫入 

-

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM