3 回答

TA貢獻1836條經驗 獲得超3個贊
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
(1)buffer:是一個指針,對fwrite來說,是要輸出數據的地址;
(2)size:要寫入內容的單字節數;
(3)count:要進行寫入size字節的數據項的個數;
(4)stream:目標文件指針;
(5)返回實際寫入的數據項個數count。
fwrite(&wdata,sizeof(char),1,filedir);
所以這個是將0xa5這個字符寫入filedir指向的文件中。
&wdata這個是取wdata的地址。
sizeof(char)這個表示取的單位長度為一個char的長度,也就是1。
1說明只取一個單位長度,也就是說從&wdata地址開始取一個字符也就是0xa5。
filedir這個是FILE指針,指向一個已經打開了的文件。

TA貢獻1875條經驗 獲得超3個贊
你好,是這樣的
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );
(1)buffer:是一個指針,對fwrite來說,是要輸出數據的地址;
(2)size:要寫入內容的單字節數;
(3)count:要進行寫入size字節的數據項的個數;
(4)stream:目標文件指針;
(5)返回實際寫入的數據項個數count。
這是函數原型定義 即參數含義
wdata=0xa5; 不知道你定義的這個是不是賦值地址語句
wdata = "0xa5" 這樣是0xa5是字符串賦值給了wdata
wata = 0xa5 這樣寫的話,0xa5就是一個十六進制的地址的形式
fwrite(&wdata,sizeof(char),1,filedir); //這句話的意思就是 把wdata這個地址中的內容,放入到filedir中,大小是sizeof(char) 個數是1 這句話的意思就是向文件中寫數據的
不贊同,Parthas這個人的回答,他的“所以這個是將0xa5這個字符寫入filedir指向的文件中?!?br/>這句話是有錯的,不是將0xa5寫入指定的文件,如果你是要寫入0xa5字符串的話,應該定義wdata = "0xa5"而不是wdata = 0xa5

TA貢獻1862條經驗 獲得超6個贊
wdata=0xa5;
fwrite(&wdata,sizeof(char),1,filedir);
就是把字符'\a5',也就是ASCII表中的序號為0xa5的字符寫到文件里,看filedir的名字好像是在寫目錄。那應該是文件的屬性Attrib吧
- 3 回答
- 0 關注
- 287 瀏覽
添加回答
舉報