3.3.3 使用CArchive类进行序列化(2)
如果用户需要马上将数据写入到串行化对象中,需要用到Flush函数。它主要用于将缓冲区中剩余的数据强制地写入CArchive对象所关联的文件中。例如下面的代码:
- ... //省略部分代码
- m_archive->WriteString(str + "\r\n"); //调用CArchive类的WriteString发送命令
- //在此也可以使用m_archive<<str<<"\r\n";
- m_archive->Flush(); //强制将数据str写入到串行化对象中
- m_archive->Close(); //关闭串行化对象
如果在程序中没有调用函数Flush(),那么真正将数据写入到物理磁盘是在调用函数Close()关闭串行化对象以后。为了防止丢失,需要使用Flush()函数将一些重要的数据立即写入文件。