void CObList::Serialize(CArchive& ar)
{
ASSERT_VALID(this); CObject::Serialize(ar); if (ar.IsStoring())
{
ar.WriteCount(m_nCount);
for (CNode* pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
{
ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
ar << pNode->data;
}
}
else
{
DWORD nNewCount = ar.ReadCount();
CObject* newData;
while (nNewCount--)
{
ar >> newData;
AddTail(newData);
}
}
}
这个是从MFC一个源文件摘录的,可是我查了MSDN里面没有ReadCount,和WriteCount两个函数啊,我先用CMyList.Serialize(ar)写了一个文件,然后在用file.Write()
把这个文件写到另外一个文件,然后再用CMyList.Serialize(ar)读新的文件,就在DWORD nNewCount = ar.ReadCount();这里除了错啊!
解决方案 »
- GDI+绘制字符串在有的pc上字符串是透明的
- 在DLL中生成普通窗口后,控件显示很慢的问题
- #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name 这该如何理解
- 怎样才能做到对话框始终都只能在视图窗口中移动,出不了视图窗口的范围,就象多文档的新建一样,弹出的窗口始终都无法移出视图窗口的范围!! 在对话框中做的按纽响应消息,在视图对话框中点激,做出相应的反映呢???
- 在线等:基于对话框,引入Windows Socket!如何编写完成端口?
- 内存重画问题
- 我想将RichEditCtrl中的默认的滚动条换成我自己的支持SKIN的滚动条,该如何做啊?
- 请高手指点样条曲线的画法!!
- 请问动态库于静态库由什么区别?哪里有关于这方面的文章?
- 关于串口的困惑,RS-232与COM1有什么区别,我一直搞不明白,请详细解答
- 这段程序为什么不对呢
- 怎样实现网页的分页打印:比如打印20条记录就换页再打印
大家不会也UP好不好啊?
ar<<m_nCount就可以了
除非重载了CArchive,
加入了新的函数建议你看看Serialize的调用
写:
ar<<m_nCount;
读:
int m_nCount;
ar >> m_nCount;