作者a2334436 (<lol>)
看板C_and_CPP
標題[問題] 二進制檔案處理的讀寫函數疑問
時間Wed Aug 1 23:42:02 2018
二進制檔案的read和write函數 引數有兩個 第一個是 變數的位址 書上說要強制轉換成指向char的指標型態
寫起來像這樣(char *)&var
但沒解釋原因 想請問這樣的轉換有什麼用意嗎 謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.72.92
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1533138124.A.D75.html
1F:→ Hazukashiine: ssize_t read(int fd, void *buf, size_t count); 08/01 23:43
2F:→ Hazukashiine: 奇怪 你的 read / write 怎麼就跟我不一樣 XDDDDDD 08/01 23:43
3F:→ Hazukashiine: C/C++ 的 fread / fwrite 的更多 有四個的樣子 08/01 23:45
4F:→ Hazukashiine: 你要不要照一下書的前後文啊啊 08/01 23:46
7F:→ Hazukashiine: 看 var 原先是什麼型別吧 = =a 08/02 00:11
8F:→ Hazukashiine: 作者只是想要說傳入的變數要是 char* 型別而已喇~ 08/02 00:13
9F:→ Hazukashiine: 如果 &var 是 void* C 不用顯式轉型 但是 C++ 要 08/02 00:13
10F:→ Hazukashiine: 但是作者說 var 為變數 代表 var 不是 void 型別 08/02 00:14
11F:→ Hazukashiine: 所以需要可以轉型的情況不存在 08/02 00:15
12F:→ Hazukashiine: 刻意顯式* 08/02 00:15
13F:→ Hazukashiine: 其實你也不用太在乎這個顯式轉型啦~ 08/02 00:17
14F:→ Hazukashiine: 這沒有很重要rr 08/02 00:17
15F:→ a2334436: 嗯 謝謝 想說弄懂了比較好記 08/02 08:03