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+ 讀寫打開壹個二進制文件,允許讀或在文件末追加數據。