CArchive::Close
void Close( );
throw( CArchiveException, CFileException );这个东西怎么用
请把一个简单的使用这个类的这个方法的过程写给我

解决方案 »

  1.   

    CArchive::Close
    void Close()
    throw(CArchiveException,CFile Exception);
    冲掉保存在缓冲区中的任何数据,关闭归档文件并释放归档文件与文件的链接。对于归档文件没有允许的其它操作。在关闭一个归档文件之后,可以为一个同样文件创建另一个归档文件或者关闭文件。
    成员函数Close保证所有数据从归档文件传输到文件并且使归档文件无效。为了完成从文件到存储介质的传输,必须首先使用CFile::Close并且再摧毁CFile对象。
    一个例子:
    CFile file;
    int nCount;
    if(file.Open("filename.txt",CFile::modeCreate|
    CFile::modeWrite))    //首先,创建一个循环
    {
    CArchive ar(&file,CArchive::store);
    //然后打开一个CArchive的实例,在这里创建存档实例时使用的是CArchive::store标志 CList<CWzdInfo1*,CWzdInfo1*> *pList=GetDocument()->GetInfo1List();
    //使用该存档调用Serialize()函数串行化CList实例
    nCount=pList->GetCount();
    ar << nCount;
    for(POSITION pos=pList->GetHeadPosition();pos;)
    {
    CWzdInfo1* pInfo=pList->GetNext(pos);
    pInfo->Serialize(ar);
    }
    ar.Close();
    file.Close();
    //串行化完成后,首相关闭文档,然后关闭文件
    }