作者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