首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CMarkup浏览,该怎么处理

2012-01-11 
CMarkup浏览我现在用CMarkup类浏览xml文件,用load函数打开xml文件,然后读取相关内容,程序工作正常,但奇怪

CMarkup浏览
我现在用CMarkup类浏览xml文件,用load函数打开xml文件,然后读取相关内容,程序工作正常,但奇怪的是,我从网上找到的例程没有类似关闭文件的操作,难倒在load内部就实现关闭了吗?不再需要关闭文件吗?

[解决办法]
看看析构函数呢
[解决办法]

C/C++ code
bool CMarkup::Load( MCD_CSTR_FILENAME szFileName ){    if ( m_nDocFlags & (MDF_READFILE|MDF_WRITEFILE) )        return false;    if ( ! ReadTextFile(szFileName, m_strDoc, &m_strResult, &m_nDocFlags) )        return false;    return x_ParseDoc();}bool CMarkup::ReadTextFile( MCD_CSTR_FILENAME szFileName, MCD_STR& strDoc, MCD_STR* pstrResult, int* pnDocFlags, MCD_STR* pstrEncoding ){    // Static utility method to load text file into strDoc    //    FilePos file;    file.m_nDocFlags = (pnDocFlags?*pnDocFlags:0) | MDF_READFILE;    bool bSuccess = file.FileOpen( szFileName );    if ( pstrResult )        *pstrResult = file.m_strIOResult;    MCD_STRCLEAR(strDoc);    if ( bSuccess )    {        file.FileSpecifyEncoding( pstrEncoding );        file.m_nOpFileByteLen = (int)((MCD_INTFILEOFFSET)(file.m_nFileByteLen - file.m_nFileByteOffset));        bSuccess = file.FileReadText( strDoc );        file.FileClose();//  很明显嘛,读完关闭        if ( pstrResult )            *pstrResult += file.m_strIOResult;        if ( pnDocFlags )            *pnDocFlags = file.m_nDocFlags;    }    return bSuccess;}
[解决办法]
楼上说得对,而且用这个类无需关心内部实现,知道怎么使用那些方法就可以了.当然要研究是另外一回事.

热点排行