到目前位置,我們已經(jīng)學(xué)習(xí)了C語言讀寫文件的函數(shù)fprintf和fscanf函數(shù),除了這對(duì)格式化文件讀寫函數(shù)之外,還有很多。今天介紹的fwrite函數(shù)就是寫文件的函數(shù),它的函數(shù)原型如下:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
可以看到這個(gè)函數(shù)的參數(shù)有四個(gè):
第一個(gè)ptr是要寫入的數(shù)據(jù)的頭指針,無符號(hào)類型;
第二個(gè)參數(shù)size是大小,表示每個(gè)寫入元素的大小,單位是字節(jié);
第三個(gè)參數(shù)nmemb是個(gè)數(shù),以上一個(gè)參數(shù)為單位的個(gè)數(shù);
第四個(gè)參數(shù)stream就是文件指針,表示往哪里寫。
至于返回值,如果成功執(zhí)行,則返回寫入元素的個(gè)數(shù),如果不和nmemb相等,則表示出錯(cuò)。
#include<stdio.h> int main () { FILE *fp; char str[] = "www.sztianhecheng.cn"; fp = fopen( "dotcpp.dat" , "w" ); fwrite(str, sizeof(str) , 1, fp ); fclose(fp); return(0); }
如代碼所示,程序運(yùn)行后,并不會(huì)在屏幕上有任何顯示,而是將str中的字符串寫入了dotcpp.dat這個(gè)文件中,待程序運(yùn)行結(jié)束退出后,大家可以打開程序同級(jí)目錄下的dotcpp.dat文件對(duì)比。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程