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();这里除了错啊!