[問題] 把object寫入binary file是不是會有風險?

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間15年前 (2010/12/02 17:35), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/1
請教各位 之前寫簡單程式 把object整包寫到file 如下 http://nopaste.csie.org/00dc1 現在想一想 我遮掉那行 在我平台上 印32... 雖然我不知道 這32是怎麼出來 跟什麼因素有關(平台? VC? 還是 什麼) 但只要把這code的下半部讀檔部分 到別的平台執行 他的sizeof(Foo)很可能不是32 那不就會讀錯嗎?? 而且.....就算他是32 他class的記憶體配置 也不一定是按照int a; int b;.....順序 有可能會無法對齊..... 所以是不是不建議把整個object直接寫下去呢?(會塞一堆不知道是什麼補足32). 但是想一想 就算一個一個member 寫 sizeof(double)也有可能在不同平台或是compiler 也不一定是8.....也可能讀錯阿? 最後結論是 要跨平台是不是要變成寫 text file才比較穩阿?? 請各位指點迷津 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222

12/02 17:38, , 1F
或許可以用boost::serialization? (雖然我沒用過)
12/02 17:38, 1F

12/02 17:43, , 2F
我現在碰到C# 是不是也有類似serailize什麼鬼的語法阿?
12/02 17:43, 2F

12/02 17:43, , 3F
寫struct近bin?
12/02 17:43, 3F

12/02 17:44, , 4F
C#確實有,它做的事就類似你這篇文章想做的
12/02 17:44, 4F

12/02 18:29, , 5F
還是用 XML 比較好喔~
12/02 18:29, 5F

12/02 20:10, , 6F
選擇一: binary serialization
12/02 20:10, 6F

12/02 20:10, , 7F
選擇二: text serialization. eg: XML / JSON
12/02 20:10, 7F

12/02 20:11, , 8F
各有優缺點
12/02 20:11, 8F

12/02 23:07, , 9F
g大請問binary serialization是一個方法還是規範阿
12/02 23:07, 9F

12/02 23:12, , 10F
建議拿serialization這個字去google查一下它的意義...
12/02 23:12, 10F

12/02 23:13, , 11F
「C# ISerializable」
12/02 23:13, 11F
文章代碼(AID): #1CzsXnju (C_and_CPP)
文章代碼(AID): #1CzsXnju (C_and_CPP)