Visual C++实用教程第8章-文件操作.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.2 文件CFile类 在8.1节介绍了如何在文档视图应用程序中加入串行化并进行文件的保存和打开。 这种串行化方法也有诸多局限,不能实现灵活的文件访问。 当程序需要自定义文件操作时,就需要用到CFile类。 在MFC中,CFile类处理正常的文件I/O操作。 CFile类提供通用二进制文件操作的接口,是所有MFC文件操作类的基础,串行化也是最终通过CFile类进行文件处理的。 本节将以多个示例介绍CFile类的使用方法,并提供CFile类中各种函数的使用参考。 【例8-1】 个人信息录入实例。 图8-1 PersonData运行界面 8.2.1 打开操作 使用文件之前需要先打开文件,该过程就是通过Windows API通知Windows系统寻找磁盘上的指定文件,然后在内存中创建一个与此文件有关的访问句柄,以后所有的文件操作都需要这个句柄标识操作对象。 CFile类封装了这个过程,并将打开的文件句柄作为成员变量隐藏起来。 nOpenFlags取值 参 数 说 明 CFile::modeCreate 直接创建新文件。如果文件已经存在,就将文件清空 CFile::modeNoTruncate 用于和CFile::modeCreate组合,使得当文件已存在 时,不清空文件 CFile::modeRead 以只读方式打开 CFile::modeWrite 以只写方式打开 CFile::modeReadWrite 以既可以读又可以写的方式打开 CFile::modeNoInherit 防止子进程继承打开的文件 CFile::shareDenyNone 打开文件但不禁止其他进程读或写访问。如果文件已 被其他进程以兼容模式打开,则创建失败 CFile::shareDenyRead 打开文件同时禁止其他进程的读访问。如果文件已被 其他进程以兼容模式打开,则创建失败 表8-1 打开文件的参数 续表 nOpenFlags取值 参 数 说 明 CFile:shareDenyWrite 打开文件同时禁止其他进程的写访问。如果文件已被 其他进程以兼容模式打开,则创建失败 CFile::shareExclusive 以独占模式打开文件,禁止其他进程对文件的读写 CFile::typeText 设置为文本模式打开,对回车换行设置特殊的处理 (CFile本身只是二进制的文件处理,并不支持这一参 数,这一参数仅用于CFile派生类) CFile::typeText 设置为二进制模式打开(仅用于CFile派生类) 8.2.2 读写操作 打开文件后就可以用读写操作对文件数据进行读写。 本节开头提到CFile是一个通用的二进制文件操作接口,故通过CFile只能以二进制方式读写文件。 CFile的读写操作主要通过CFile::Read()和CFile::Write()函数完成。 8.2.3 定位操作 CFile可以使程序随机读写文件,这一随机性就是通过定位操作完成的。 定位操作用于定位CFile的读写指针,使得程序可以读写任意位置的数据,而不是在顺序读写中只能依照从前往后的顺序进行读写。 CFile为定位操作提供了下列成员函数。 (1)CFile::GetLength()函数 (2)CFile::SetLength()函数 (3)CFile::Seek()函数 (4)CFile::SeekToBegin()函数 (5)CFile::SeekToEnd()函数 (6)CFile::GetPosition()函数 8.2.4 关闭操作 当文件完成读写后,需要关闭文件,释放文件句柄。 CFile提供了两种文件关闭的方式。 (1)CFile::Close()函数 (2)CFile::Abort()函数 8.2.5 异常操作 在文件读写过程中经常要访问磁盘硬件,因此会产生各种各样的异常。 无论是文件的打开、读写、定位还是关闭操作都会产生异常。 异常通常由调用的函数抛出,在TRY/CATCH块中捕获,此外CFile::Open()函数还可以用参数的形式获得异常的指针。 MFC中文件的异常类是CFile

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档