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