函數原型
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
參數
ptr-- 這是指向要被寫入的元素數組的指針。
size-- 這是要被寫入的每個元素的大小,以字節為單位。
nmemb-- 這是元素的個數,每個元素的大小為 size 字節。
stream-- 這是指向 FILE 對象的指針,該 FILE 對象指定了一個輸出流。
功能
把ptr所指向的數組中的數據寫入到給定流stream中。
返回值
如果成功,該函數返回一個 size_t 對象,表示元素的總數,該對象是一個整型數據類型。如果該數字與 nmemb 參數不同,則會顯示一個錯誤。
用法
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。
說明:寫入到文件的哪裡? 這個與文件的打開模式有關,如果是w+,則是從file pointer指向的地址開始寫,替換掉之後的内容,文件的長度可以不變,stream的位置移動count個數;如果是a+,則從文件的末尾開始添加,文件長度加大。
fseek對此函數有作用,但是fwrite函數寫到用戶空間緩沖區,并未同步到文件中,所以修改後要将内存與文件同步可以用fflush(FILE *fp)函數同步。