1.串行化方法简介
1.首先建一个CObject类的子类CGridList,自动继承串行化特性
2.重写串行化Serialize(CArchive & ar)函数
3.建立CFile myFile(myRoad,CFile::modereadwrite);
4.建立CArchive arLoad(&myFile,CArchive::load);
5.CGridList * pGridList = (CGridList *)arLoad.ReadObject(RUNTIME_CLASS(CGridList));
6.关闭arLoad及myFile:arLoad.close();myFile.close();
2.错误类型
1.找不到指定文件
解决办法:查找路径及文件是否正确;
2.文件读写错误
解决办法:首先将文件删除->重建->再次运行,如果没有问题,则为文件损坏;若依然出现上述问题,查看指针类型和串行化类型是否匹配即CGridList *pGridList = (CGridList *)arLoad.ReadObject(RUNTIME_CLASS(CGridList));如果问题解决,则可能是串行化类型混淆。
3.文件内存无法读写
解决办法:检查系统是否存在影响内存读写的漏洞,修复;如果依然存在问题,查看文件是否损坏;最后看是否存在野指针,即存在不同区域变量存在赋值操作等。
4.其他问题
解决方法:有可能是串行化函数问题,引起的数据结构超过容器范围等。