什么是CArchive对象

CArchive 对象用于写入或读取可序列化对象提供类型安全的缓冲区结构来回 CFile 对象。通常 CFile 对象表示磁盘文件;但是,它也可以是内存文件 (CSharedFile 对象),可能表示剪贴板。

特定 CArchive 对象存储 (写入,序列化) 数据或加载 (读取,反序列化),数据,但从未两个。CArchive 对象的生存期限于一通过向文件中写入对象或读取对象从文件。因此,需要两个连续创建的 CArchive 对象序列化到数据文件从文件中反序列化它。

当存档存储到文件时的对象,存档附加 CRuntimeClass 名称为对象。然后,那么,当另一个存档加载对象从文件加载到内存, CObject派生的对象动态重新生成基于+对象的 CRuntimeClass 。,它将写入文件中存储存档,给定对象上多次引用。加载存档,但是,一次只将重新生成对象。有关存档的方式的详细信息附加 CRuntimeClass 信息对对象并重新生成对象,考虑可能的多个在 技术说明 2引用,描述。

当数据序列化到存档,存档的累计数据,直到其缓冲区已满。然后存档编写它对 CFile 对象的缓冲区指向由 CArchive 对象。同样,,因为您读取存档的数据,它从文件读取数据到其缓冲区然后从缓冲区到您的反序列化对象。此缓冲区减少硬盘便实际读取的次数,从而提高应用程序的性能。

请参见

概念

序列化:序列化对象