當前位置:編程學習大全網 - 源碼下載 - C語言中fwrite函數輸入時會覆蓋文件以前的數據嗎?

C語言中fwrite函數輸入時會覆蓋文件以前的數據嗎?

fwrite寫入時覆蓋不覆蓋原來文件是用參數決定的

fwrite原型:

size_t?fwrite(const?void*?buffer,?size_t?size,?size_t?count,?FILE*?stream);

返回值:返回實際寫入的數據塊數目

(1)buffer:是壹個指針,對fwrite來說,是要獲取數據的地址;

(2)size:要寫入內容的單字節數;

(3)count:要進行寫入size字節的數據項的個數;

(4)stream:目標文件指針;

(5)返回實際寫入的數據項個數count。

是否覆蓋決定於stream

FILE?*stream=fopen("文件名","mod");

其中mod如下:

(1)r 以只讀方式打開文件,該文件必須存在。

(2)r+ 以可讀寫方式打開文件,該文件必須存在。

(3)rb+ 讀寫打開壹個二進制文件,允許讀寫數據,文件必須存在。

(4)w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。

(5)w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。

(6)a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)

(7)a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)

(8)wb 只寫打開或新建壹個二進制文件;只允許寫數據。

(9)wb+ 讀寫打開或建立壹個二進制文件,允許讀和寫。

(10)ab+ 讀寫打開壹個二進制文件,允許讀或在文件末追加數據。

  • 上一篇:為什麽我的電子郵件沒有登陸過google play商店。
  • 下一篇:理想的快速查看源代碼
  • copyright 2024編程學習大全網