面试题:下面代码的功能,尤其是try、fwrite 和 catch 的那几句,能加点注释吗?谢谢,急!

jyzdtn 2011-06-02 05:35:06
fwrite((const char*)&m_fFileVersion, 1,4,(FILE*)m_ofs_isfFile);
这语法好难,谁细致点剖析下

try
{
//以创建、写方式打开文件
//m_isfFile.Open(strFileFullName, CFile::modeCreate | CFile::modeWrite);
//m_txtFile.Open(((CString)strFileFullName)+".txt", CFile::modeCreate | CFile::modeWrite| CFile::shareDenyNone);
m_ofs_isfFile = NULL;
//fopen_s(&m_ofs_isfFile,strFileFullName,"wb");
m_ofs_isfFile = _fsopen(strFileFullName, "wb",_SH_DENYNO );
if (NULL == m_ofs_isfFile)
{
//打开文件失败。
return false;
}

sprintf_s(strFileFullName,1500,"%s.txt",strFileFullName);
m_ofs_txtFile = NULL;
//fopen_s(&m_ofs_txtFile,strFileFullName,"w_SH_SECURE");
m_ofs_txtFile = _fsopen(strFileFullName, "w",_SH_DENYNO );
//m_ofs_txtFile = (FILE*)CreateFile(strFileFullName, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
if (NULL == m_ofs_txtFile)
{
//打开文件失败。
return false;
}

m_bIsFileOpened = true;

fwrite(m_pszFileHeader, 1,10,(FILE*)m_ofs_isfFile);
fwrite((const char*)&m_fFileVersion, 1,4,(FILE*)m_ofs_isfFile);
fseek((FILE*)m_ofs_isfFile,(LONGLONG)64, 0);
fwrite((const char*)&m_ulFileTickCount, 1,4,(FILE*)m_ofs_isfFile);
fwrite((const char*)&m_stFileCreateTime, 1,16,(FILE*)m_ofs_isfFile);
}
//catch (CException *e)
catch (...)
{
//e->GetErrorMessage(m_pszErrorDescription,OMT_MAX_ERROR_DESCRIPTION,NULL);
//e->Delete();
return false;
}
return true;
...全文
146 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
luciferisnotsatan 2011-06-10
  • 打赏
  • 举报
回复
MSDN里查下那些个函数,不就知道了么
ao929929fei 2011-06-10
  • 打赏
  • 举报
回复
看写的代码很粗糙啊,实在是看不下去了
帮顶
jyzdtn 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liulcsy 的回复:]
多发我点分,我就帮你全搞了。
[/Quote]
帖子怎么加分啊,能先帮帮我?发下个帖子补吗
科比布莱恩特 2011-06-08
  • 打赏
  • 举报
回复
多发我点分,我就帮你全搞了。
jyzdtn 2011-06-08
  • 打赏
  • 举报
回复
ding
ithzhang 2011-06-06
  • 打赏
  • 举报
回复
很乱!!!!!!!!!!!
jyzdtn 2011-06-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sduxiaoxiang 的回复:]
引用 4 楼 jyzdtn 的回复:
引用 3 楼 pathuang68 的回复:
没有什么特别的...去看看C++ Primer关于异常处理的那部分内容。

还有那个写文件 能帮忙解释解释吧

//写m_pszFileHeader到文件,大小为10
fwrite(m_pszFileHeader, 1,10,(FILE*)m_ofs_isfFile);
//写m_pszFileHe……
[/Quote]

//重定位到从文件开头起的64字节
fseek((FILE*)m_ofs_isfFile,(LONGLONG)64, 0);

神马用意啊
sduxiaoxiang 2011-06-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jyzdtn 的回复:]
引用 3 楼 pathuang68 的回复:
没有什么特别的...去看看C++ Primer关于异常处理的那部分内容。

还有那个写文件 能帮忙解释解释吧
[/Quote]
//写m_pszFileHeader到文件,大小为10
fwrite(m_pszFileHeader, 1,10,(FILE*)m_ofs_isfFile);
//写m_pszFileHeader到文件,大小为4
fwrite((const char*)&m_fFileVersion, 1,4,(FILE*)m_ofs_isfFile);
//重定位到从文件开头起的64字节
fseek((FILE*)m_ofs_isfFile,(LONGLONG)64, 0);
//继续写
fwrite((const char*)&m_ulFileTickCount, 1,4,(FILE*)m_ofs_isfFile);
fwrite((const char*)&m_stFileCreateTime, 1,16,(FILE*)m_ofs_isfFile);
jyzdtn 2011-06-05
  • 打赏
  • 举报
回复
能详细说说嘛
jyzdtn 2011-06-03
  • 打赏
  • 举报
回复
ding
jyzdtn 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pathuang68 的回复:]
没有什么特别的...去看看C++ Primer关于异常处理的那部分内容。
[/Quote]
还有那个写文件 能帮忙解释解释吧
pathuang68 2011-06-02
  • 打赏
  • 举报
回复
没有什么特别的...去看看C++ Primer关于异常处理的那部分内容。
maoxing63570 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq120848369 的回复:]
一看就是MFC,一看就是写文件,再仔细一看还捕获任何异常.
[/Quote]
在mfc中用的是结构化异常,不过跟C++中的差不多
qq120848369 2011-06-02
  • 打赏
  • 举报
回复
一看就是MFC,一看就是写文件,再仔细一看还捕获任何异常.

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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