使用序列化机制

如您所见,框架提供默认方式。/从文件读取和写入数据。 序列化通过存档对象进行交互所需的大很多应用程序。 此类应用程序完全读取文件到内存,让用户再次更新文件,然后将更新的版本到磁盘。

但是,某些应用程序非常不同操作数据,并且,对于这些应用程序序列化通过存档不合适。 示例包括数据库程序,编辑大文件中只部件的程序,仅编写文档文件和程序共享数据文件中的过程。

在这些情况下,您可以通过不同方式重写 序列化 函数传递 C 文件 对象干预文件操作而不是 CArchive 对象。

可以使用 打开读取写入关闭,并且, Seek 类打开文件的 CFile 的成员函数,该文件将文件指针 (、) 到特定点,则当时读取记录 (指定的字节数),让用户更新该记录,然后对同一中查找再次点和写入该记录到文件。 框架将打开您的文件,并且,可以使用类 CArchiveGetFile 成员函数获取指向 CFile 对象。 对于更复杂且灵活使用,可以重写类 CWinAppOnOpenDocumentOnSaveDocument 成员函数。 有关更多信息,请参见 MFC 引用 中的 CFile 类。

在此方案中,您的 Serialize 重写不执行任何操作,因此,除非,例如,要使其读取和写入请将其保留最新文件头,在文档关闭时。

请参见

参考

使用文档