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