[問題] struct寫入二進位檔

看板C_and_CPP (C/C++)作者 (一隻小浣熊)時間12年前 (2014/03/08 14:04), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
小弟練習想把struct寫入二進位黨 #include <stdio.h> int main(int argc, char **argv){ struct data{ char id[11]; double a; int b; }s1={"abcde",1,2},*ptr; FILE *output; output=fopen("output.txt","wb"); fwrite(&s1,sizeof(s1),3,output); fclose(output); return 0; } 但是執行結果只有寫入abcde,之後都呈現出亂碼 想了很多,但都不知道哪裡有問題 想各位大大請教問題點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.94.10

03/08 14:11, , 1F
double對你來說應該就是亂碼吧
03/08 14:11, 1F
他的亂碼是這樣abcde ?? ※ 編輯: a12345x 來自: 218.211.94.10 (03/08 14:15)

03/08 15:47, , 2F
你真的知道 "wb" 在做什麼的嗎?請解釋跟 "w" 的差別
03/08 15:47, 2F
W是用來寫入文件檔的,而wb是寫到二進位檔的 ※ 編輯: a12345x 來自: 218.211.94.10 (03/08 19:51)

03/08 20:56, , 3F
loveme~ 提的問題,其實我覺得真的蠻難解釋的..
03/08 20:56, 3F

03/09 00:31, , 4F
跟寫的方法有關, 跟對象無關. 關鍵字"格式化輸出"
03/09 00:31, 4F

03/09 00:31, , 5F
還有應該想成: 副檔名跟存的東西一點關係都沒有
03/09 00:31, 5F
文章代碼(AID): #1J6hC6ac (C_and_CPP)
文章代碼(AID): #1J6hC6ac (C_and_CPP)