一个关于内存文件的问题
我把一个类实例序列化到内存文件中,再序列化到另一个文件中,就少了一段,不知为什么.
CMemFile memfile(4096);
CArchive ar( &memfile, CArchive::store, 4096, buf );
//WRITE TO FILE
CScene ascene;
ascene.Serialize(ar);//
int nlength=memfile.GetLength();
ar.Close();
BYTE* pbyte =memfile.Detach();
CScene scn;
CMemFile loadfile;
loadfile.Attach(pbyte,nlength);
//LOAD FROM FILE
CArchive arl(&loadfile,CArchive::load,4096,buf);
scn.Serialize(arl);//此时会发生ENDOFFILE的异常,也就是文件少了一段.
arl.Close();