当前位置:首页 > 串行化存储CArchive对象
指向nBufSize大小的提供缓冲区的指针。如果不指定这个参数,归档文 件从本地堆为归档文件分配一个缓冲区并且当对象被毁弃时,释放缓冲 区。归档文件不能释放一个提供的缓冲区。 说明
构造CArchive对象并且指定它将用于装载或存储对象。在创建归档文件之后,不能改变这个指定内容。不能使用CFile操作来改变文件的状态直到已经关闭归档文件时。任何这样的操作都将会毁弃归档文件的完整性。通过由GetFile成员函数获得归档文件的文件对象使得可在串行化过程中的任何时候访问文件指针的位置。然后使用Cfile::GetPosition函数。应该在获得文件指针位置之前,调用CArchive::Flush。 示例
extern char* pFileName CFile f; char buf[512];
if(!f.Open( pFileName,Cfile::modeCreate| Cfile::modeWrite)){ #ifdef_DEBUG
afxDump<< “unable to open file”<<”\\n”; exit(1); #endif }
CArchive ar( &f, Cachive::strore,512,buf); 请参阅 CArchive::Close, CArchive::Flush, Cfile::Close CArchive::Close void Close( )
throw( CArchiveException,CFileException); 说明
冲掉保存在缓冲区中的任何数据,关闭归档文件并且释放归档文件与文件的链接。对于归档文件没有允许的其它操作。在关闭一个归档文件之后,可以为一个同样文件创建另一个归档文件或者关闭文件。成员函数Close保证所有数据从归档文件传输到文件并且使归档文件无效。为了完成从文件到存储介质的传输,必须首先使用Cfile::Close并且再毁弃CFile对象。 请参阅 CArchive::Flush,
CArchive::Abort CArchive::Flush void Flush( );
throw( CFileException); 说明
迫使保留在归档文件中的数据写入文件。成员函数Flush保证所有的数据从归档文件传输到文件。必须调用Cfile::Close来完成从文件到存储介质的[1]
共分享92篇相关文档