关于文件异常捕获--新手篇

 文件输入和输出服务是所有操作系统的主要工作,不必惊奇,MicroSoft Windows提供了各种API函数用来读、写和操作磁盘文件。MFC将这些函数封装在CFile类里,CFile允许把“文件”当做对象,并用CFile的成员函数(如:read、write等)对文件进行操作。CFile具有MFC编程人员实现低级文件IO所需要的所有操作。

      编写文件IO最主要的是为了支持文档的存储和加载,尽管用CFile对象实现磁盘文档的读写没有什么困难,但大部分MFC应用程序不会这么做,而是用CArchive对象。

1CFile类

      CFile是比较简单的类,它封装了Win32用来处理文件IO的那部分。在多于25个的成员函数中有用来打开和关闭文件的函数、读写文件数据的函数、删除和重命名文件的函数、检索文件信息的函数。它的public成员数据之一m_hFile保存了与CFile对象相关联的文件的句柄、protected成员m_strFileName保存着文件的名称。成员函数GetFilePath、GetFileName、GetFileTitle可以用来提取整个文件名或文件名的一部分。例如:如果完整的文件名和路径名为C:/personal/File.txt,那么GetFilePath返回整个字符串,GetFileName返回File.txt,GetFileTitle返回File。

      但是如果细讲这些函数,就等于忽略了对编程人员来说CFile拥有的重要功能,即用来读写磁盘文件的函数。下面的几部分简要介绍了CFile的使用方法,以及错误发生时CFile的通知方式(如果从来没有用过C++异常处理,现在开始吧)。

1.1打开关闭和创建文件

      用CFile打开文件有2中方法,第一种方法是构造一个没有初始化的CFile对象并调用CFile::Open。下面的代码段就用了这个方法打开一个具有读写访问权的文件File.txt。因为函数的第一个参数没有给出路径名,如果该文件不在当前目录下,Open就会失败。

CFile file;

if(file.Open("File.txt",CFile::modeReadWrite))

{

      //It Worked

}

CFile::Open返回一个BOOL值,表示是否成功打开文件。返回非零值意味着文件打开了,零意味着文件没有打开。如果CFile::Open返回零,并且你想知道调用失败的原因,则创建一个CFileException对象并把它的地址传送到Open函数的第三个参数中。

  1. CFile file;  
  2. CFileException e;  
  3. if(file.Open("File.txt",CFi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值