作者yan04870449 (楊伯)
看板C_Sharp
標題Re: [問題] 關於在C#將自訂的Class以二進位寫到檔긠…
時間Mon Dec 27 21:53:08 2010
※ 引述《yan04870449 (楊伯)》之銘言:
: 在C++ 我可以像下面這樣子來將某個物件寫到檔案裡
: class AA
: {
: public:
: int a;
: int b;
: char c;
: };
: int main()
: {
: AA A1;
: A1.a = 10;
: A1.b = 20;
: A1.c = 'A';
: char* buff = (char*)&A1 ;
: ofstream outfile;
: outfile.open ("test.txt");
: if (outfile.is_open())
: {
: outfile.write(buff,sizeof(AA));
: outfile.close();
: }
: else
: {
: cout << "Error opening file"<<endl;
: }
: }
: 我在網路上有查到可以使用c# Serialize,雖然我不太熟這個方法,但是
: 這個方法在我的環境是不被支援的。
: 請問板上前輩,在c#我應該往那個方向查詢才能做到跟上面的結果一樣呢?
先感謝前篇前輩的回應。
我現在已經知道怎麼處理了,但是我還遇到另外一個問題,
當我在A程式把某個class用Serialize的方式寫到一個檔案之
後再用B程式去讀,這時會發生找不到組件的錯誤,但如果把
A程式的寫檔跟B程式的讀檔寫成同一個程式,那就不會發生這
問題。
另外我發現我用序列化寫出去的binary檔案在最前面會被加上
一串類似KEY的字串,似乎是因為這串字串導致錯誤。
麻煩前輩們指導!><
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.117.128.56
1F:推 QQ29:silverlight wp7可以serialize成 XML PC版應該也可 12/28 23:35
2F:→ QQ29:你一定要binary嗎? 12/28 23:35
3F:→ QQ29:你現在是用binaryformatter?? 12/28 23:37
4F:→ EricTsai:把Class定義移到dll裡面,兩隻程式共用dll試試? 12/29 00:42
6F:→ yan04870449:E大的方法讓我解決問題了@@,感謝。 12/30 23:26