2 回答

TA貢獻1911條經(jīng)驗 獲得超7個贊
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
ptr
要寫入文件的對象指針,轉(zhuǎn)換成 const void*形式。
size
指的是指針所指對象的每個元素長度。
count
指針所指對象的元素個數(shù)。
stream
文件對象的指針。
例如:
const char * string = "Test here.";
FILE* filestream = ...;
fwrite( string, sizeof(char), strlen(string), filestream );
需要寫的指針是 string,指針指向的是字符串,就是 char 的數(shù)組對象,
所以第二個參數(shù) 是char的長度,就是 1,第三個參數(shù)是 數(shù)組長度,就是字符串個數(shù) strlen(string)

TA貢獻1876條經(jīng)驗 獲得超7個贊
fwrite并非是專用來寫字符串的一個函數(shù),它一般是用來對結(jié)構(gòu)體等的文件寫入!
而在寫結(jié)構(gòu)體等,有時需要寫入好幾個結(jié)構(gòu)體,第三個參數(shù)是用來給寫多個方便用的!
還有點,你的第二個參數(shù)未必所有的都可行!...第二個參數(shù)要用sizeof函數(shù)取得要寫入文件內(nèi)容的大小的,因為一般情況下char==1字節(jié)...strlen又是得到字符串的長度,所以才能成功...假如char==2字節(jié)就只能寫入一半了!
- 2 回答
- 0 關(guān)注
- 257 瀏覽
添加回答
舉報