myfile.dat中是一个CObject类的派生类serialize后得到的文件。
请问如何才能把这个文件中的内容读进一个CObList变量中?我已经
CFile myFile;
myFile.Open("myfile.dat",CFile::modeRead,NULL));
CArchive ar(&myFile,CArchive::load,512,NULL);
请问如何才能把这个文件中的内容读进一个CObList变量中?我已经
CFile myFile;
myFile.Open("myfile.dat",CFile::modeRead,NULL));
CArchive ar(&myFile,CArchive::load,512,NULL);
解决方案 »
- 求VC++1.52
- 我想学习一下ATL/AcitveX/COM方面的编程,请求大家推荐几本浅显易懂的电子书
- 在菜单项调用对话框,Cyy.DoModal();和头文件都有,怎么还是弹不出来呢?
- 紧急求问:打印问题,我在单线程的程序里面写打印程序完好,但是把相同的程序段,移植到多线程里面以后,代码将不能够打印了,为什么哦?
- 内存泄漏,help me
- 征集论文题目
- 一个简单的问题?无效的描述符索引的问题
- 沤编高手?谁能写象棋,西洋象棋程序请进
- 对话框的阴影实现(无法用AlphaBlend)?
- 我想读点TCP/IP源码,不知是读linux的还是FreeBSD的好些?
- 一个简单的端口扫描问题
- CComBSTR与_bstr_t
Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar>>m_Counter ;//保存个数
for(int i=0;i<m_Counter;i++)
ar>>m_object;
}
else
{
ar>>m_Counter;//读个数
for(int i=0;i<m_Counter;i++)//循环读出
{
ar>>m_Object;
m_List.Add(m_Object); //加入链表
}
}
list.Serialize(ar);
myFile.Open("d:\\comm\\data\\warn\\member.dat",CFile::modeCreate|CFile::modeWrite,NULL);
CArchive ar(&myFile,CArchive::store,512,NULL);
COperator opt,ope; //COperator 派生自CObject
opt.m_strID=_T("ad");
opt.m_strPassword=_T("0123456");
ope.m_strID=_T("ad2");
ope.m_strPassword=_T("12");
opt.Serialize(ar);
ope.Serialize(ar);
ar.Close();
myFile.Close();
得到member.dat
然后这样用
myFile.Open("d:\\comm\\data\\warn\\member.dat",CFile::modeRead,NULL);
CObList OpList;
CArchive ar(&myFile,CArchive::load,512,NULL);
OpList.Serialize(ar);
调用时提示
d:\\comm\\data\\warn\\member.dat格式出错!这错在什么地方呢?
读取时也不能用,格式不对。
改为CFile::modeRead | CFile::typeText
CObList OpList;
COperator opt,ope;
OpList.Add( opt ) ;
OpList.Add( ope ) ;OpList.Serialize()