使用序列化机制
如您所见,框架提供默认方式。/从文件读取和写入数据。 序列化通过存档对象进行交互所需的大很多应用程序。 此类应用程序完全读取文件到内存,让用户再次更新文件,然后将更新的版本到磁盘。
但是,某些应用程序非常不同操作数据,并且,对于这些应用程序序列化通过存档不合适。 示例包括数据库程序,编辑大文件中只部件的程序,仅编写文档文件和程序共享数据文件中的过程。
在这些情况下,您可以通过不同方式重写 序列化 函数传递 C 文件 对象干预文件操作而不是 CArchive 对象。
可以使用 打开, 读取, 写入, 关闭,并且, Seek 类打开文件的 CFile 的成员函数,该文件将文件指针 (、) 到特定点,则当时读取记录 (指定的字节数),让用户更新该记录,然后对同一中查找再次点和写入该记录到文件。 框架将打开您的文件,并且,可以使用类 CArchive 的 GetFile 成员函数获取指向 CFile 对象。 对于更复杂且灵活使用,可以重写类 CWinApp的 OnOpenDocument 和 OnSaveDocument 成员函数。 有关更多信息,请参见 MFC 引用 中的 CFile 类。
在此方案中,您的 Serialize 重写不执行任何操作,因此,除非,例如,要使其读取和写入请将其保留最新文件头,在文档关闭时。