C語言中文件打開模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)淺析

C語言文件打開模式淺析spa

       在C語言的文件操做語法中,打開文件文件有如下12種模式,以下圖: 指針

打開模式ci

 只能夠讀 table

 只能夠寫 語法

讀寫兼備二進制

文本模式文件讀取

rtab

w語言

adi

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+

新建

結尾

 任意位置讀取 

 只能尾部寫入 

-

 

       不一樣的打開模式對應不一樣的操做方式,使用時需仔細規劃。

相關文章
相關標籤/搜索