重要的类:
CFile file(..,..)
CArchive ar(&file,CArchive::store/load);----这个类是MFC在文件操作中最常用的一个类。
---ar.GetFile()---返回指向
它重载了“<</>>”操作符,它在底层还是利用了CFile对象。
对于基本类型,它支持串行化,也支持CString的串行化。
当然也可以自定义串行化类:(原因就是CArchive重载的“<</>>”对CObject*提供支持)
例子:
line.h
-----------------------
public CLine :public CObject
{
DECLARE_SERIAL(CLine)
protexted:
CPoint m_ptFrom;
CPoint m_ptTo;
public:
CLine();//必须要有默认构造函数,因为在并行化时使用
CLine(CPoint from,CPoint to);
void Serialize(CArchive &ar);
}
****line.app
IMEPLEMENT_SERIAL(CLine,CObject,1|VERSIONABLE_SCHEMA)
void CLine::Serialize(CArchive&ar)
{
CObject::Serialize(ar);
if(ar.IsStoring())
{
}
else
{
UINT nSchema=ar.GetObjectSchema();
switch(nSchema)
{
case 1:
**********
break;
............................
default:
AFxThrowArchiveException(CArchiveException::badSchema);
break;
}
}
}