3.3.3 使用CArchive类进行序列化(2)

2013-10-07 15:55:33 · 作者: · 浏览: 75

3.3.3  使用CArchive类进行序列化(2)

如果用户需要马上将数据写入到串行化对象中,需要用到Flush函数。它主要用于将缓冲区中剩余的数据强制地写入CArchive对象所关联的文件中。例如下面的代码:

  1. ...                            //省略部分代码    
  2. m_archive->WriteString(str + "\r\n"); //调用CArchive类的WriteString发送命令    
  3.                                                 //在此也可以使用m_archive<<str<<"\r\n";    
  4. m_archive->Flush();             //强制将数据str写入到串行化对象中    
  5. m_archive->Close();             //关闭串行化对象   

如果在程序中没有调用函数Flush(),那么真正将数据写入到物理磁盘是在调用函数Close()关闭串行化对象以后。为了防止丢失,需要使用Flush()函数将一些重要的数据立即写入文件。