void CDWordArray::Serialize(CArchive& ar){ ASSERT_VALID(this); CObject::Serialize(ar); if (ar.IsStoring()) { ar.WriteCount(m_nSize); //把数组大小写入ar ar.Write(m_pData, m_nSize * sizeof(DWORD)); //把整个数组写入ar } else { DWORD nOldSize = ar.ReadCount(); //从ar中读出数组大小 SetSize(nOldSize); //改变m_nSize ar.Read(m_pData, m_nSize * sizeof(DWORD)); //从ar中读出整个数组 }}
请问这里加粗的两处是什么意思?在这里有特殊作用吗?我找了老半天网上都没有这两个函数的详细介绍先谢了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/helonSY/archive/2010/06/19/5680604.aspx
请问这里加粗的两处是什么意思?在这里有特殊作用吗?我找了老半天网上都没有这两个函数的详细介绍先谢了。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/helonSY/archive/2010/06/19/5680604.aspx
ar.ReadCount(...)读出数组的大小你博客里的文章,虽然是转 别人的,但是你没有看懂就转了?
看懂了,里面没讲这辆个函数,那人也不是原创,是侯捷 深入浅出MFC里的呵呵
DWORD CArchive::ReadCount();
void CArchive::WriteCount(DWORD dwCount);兼容16位机器,你这里也可以使用CArchive::Write()