說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732
全網監測海量數據按需發布監測預警
實時把握輿情動態精準追溯信息源頭
fwrite()是C語言標準庫中的一個文件處理函數,C語言函數,向文件寫入一個數據塊,功能是向指定的文件中寫入若干數據塊,如成功執行則返回實際寫入的數據塊數目。該函數以二進制形式對文件進行操作,不局限于文本文件。
fwrite函數——fwrite函數用法
size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream);
返回值:返回實際寫入的數據塊數目
(1)buffer:是一個指針,對fwrite來說,是要獲取數據的地址;
(2)size:要寫入內容的單字節數;
(3)count:要進行寫入size字節的數據項的個數;
(4)stream:目標文件指針;
(5)返回實際寫入的數據項個數count。
說明:寫入到文件的哪里?這個與文件的打開模式有關,如果是w+,則是從filepointer指向的地址開始寫,替換掉之后的內容,文件的長度可以不變,stream的位置移動count個數;如果是a+,則從文件的末尾開始添加,文件長度加大。
fseek對此函數有作用,但是fwrite[1]函數寫到用戶空間緩沖區,并未同步到文件中,所以修改后要將內存與文件同步可以用fflush(FILE*fp)函數同步。
C/C++文件讀寫fread和fwrite函數的使用
C/C++中可使用fread和fwrite函數用于讀取和寫入數據到文件中,具體形式如下:
//讀取文件塊數據
size_tfread(void*buffer,size_tsize,size_tcount,FILE*file);
//寫入文件塊數據
size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*file);
fread參數說明:buffer是讀取數據后存放地址,size是的塊長度,count是塊的數量,實際讀取長度為size*count,返回值為塊成功讀取塊的count數量。
fwrite參數說明:buffer是寫入數據后存放地址,size是的塊長度,count是塊的數量,實際讀取長度為size*count,返回值為塊成功寫入快的count數量。
上面的例子是讓用戶輸入三只寵物貓的數據,并保存到文檔中,然后再將文檔中的數據讀出。例子中fopen較常用的是r模式和a模式,一般用r+或a+表示可讀寫的文本,若以二進制模式打開則為rb+或ab+;w會清空文檔所有內容。(值得注意的是rw、rw+、wa之類是錯誤的模式并不支持。)
size_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream);
這是fwrite的MSDN標準參數表,其中buffer是需要向文件中寫入的內容在內存中的首地址指針,size是待寫入內容的每個元素的字節數,count是要寫多少個元素,stream是文件指針,如果大家還想了解更多與之有關的信息,歡迎關注我們文軍營銷的官網。
推薦閱讀
說明:如果您有任何疑問或想咨詢其他業務請撥打電話 400 685 0732