请教一段程序的功能

twins222 2009-11-20 04:36:23
程序如下:
BOOL CSecret::SerializeBms( CString& filename ,BOOL bSave,CString& lic )
{



CFile theFile;
CFileException fe;
CArchiveException ae;
int nMode = 0;
if( bSave )
{
if( my_taccess(filename, 0x00) == 0x00 )
DeleteFile(filename);
nMode = CArchive::store;
if( !theFile.Open( filename, CFile::modeCreate | CFile::modeWrite, &fe ) )
return FALSE;
}
else
{
nMode = CArchive::load;
if( !theFile.Open( filename, CFile::modeRead, &fe ) )
return FALSE;
}

TRY{
CArchive ar( &theFile, nMode );
if( bSave )
{
ar<< m_strVersion;
ar<<m_points;

for(int i=0;i<20;i++)
ar<<(TCHAR&)m_company[i];
for(i=0;i<10;i++)
ar<<(TCHAR&)m_name[i];
ar << lic;

}
else
{
ar>> m_strVersion;

if( 0==_tcscmp(m_strVersion, LICENSE_VERSION_CE601) )
{
ar>> m_points;

for(int i=0;i<20;i++)
ar>>(TCHAR&)m_company[i];
for(i=0;i<10;i++)
ar>>(TCHAR&)m_name[i];
ar >> lic;
}
}

ar.Close();
theFile.Close();
}
CATCH( CFileException, fe)
{
theFile.Abort();
return FALSE;
}
AND_CATCH( CArchiveException, ae )
{
theFile.Abort();
return FALSE;
}
END_CATCH

return TRUE;
}


这段程序实现的功能:
首先try外面的if( bSave ) 满足要求的时候,以创建和写的方式打开文件名为filename的文件theFile,当不满足的时候说明文件已经存在,然后以只读的方式打开文件。
然后再以缓存的形式读取文件。当try里面的if( bSave )满足要求的时候,像缓存区中的文件theFile写m_strVersion,m_points等信息。否则不满足的时候,读取缓存区中
theFile文件中的m_strVersion,m_points等信息。
我上面的分析对吗?谢谢高手回答。
...全文
87 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongya6088 2009-11-20
  • 打赏
  • 举报
回复
代码比较长,楼主分析的正确
twins222 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 danxuezx 的回复:]
建议LZ以后贴比较多的代码的时候选在发帖框上面选一下代码类型,那样贴出来代码比较好看。

您的分析没错。
[/Quote]
好的 下次我会注意的。谢谢您的回复
danxuezx 2009-11-20
  • 打赏
  • 举报
回复
建议LZ以后贴比较多的代码的时候选在发帖框上面选一下代码类型,那样贴出来代码比较好看。

您的分析没错。
healer_kx 2009-11-20
  • 打赏
  • 举报
回复
那还缺什么吗?
twins222 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 healer_kx 的回复:]
存取一些东西呗,比如说version,points什么的,这么说有分不?
[/Quote]
有分。
healer_kx 2009-11-20
  • 打赏
  • 举报
回复
存取一些东西呗,比如说version,points什么的,这么说有分不?
twins222 2009-11-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]
... ...
这可难说了。。。
[/Quote]
您何出此言啊?呵呵
healer_kx 2009-11-20
  • 打赏
  • 举报
回复
... ...
这可难说了。。。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧