CFile类对文件打开的模式详解

知识和技能需要在平时点点滴滴的过程中不断积累的,所以自己要加强这方面的总结和积聚。下面将总结CFile类打开文件模式的分类及具体说明。
CFile::modeCreate                 直接构建创建一个新文件。如果该文件已经存在,则文件内容自动被清零。
CFile::modeNoTruncate        该值一般modeCreate组合使用。如果创建的文件已经存在,那么它不会被清零。因而该文件能可靠的打开,或者新建一个文件或者打开一个现存文件。这对于打开一个可能存在可能不存在的设置文件十分有用。该选项通用可用于CStdioFile。
CFile::modeRead                  以只读方式打开文件。
CFile::modeReadWrite          以可读可写方式打开文件。
CFile::modeWrite                  以只写方式打开文件。
CFile::modeNoInherit            阻止文件被子进程继承。
CFile::shareDenyNone         以不拒绝其他进程对文件的读写方式打开。如果文件已经被其他进程以compatibility模式打开,则文件创建失败。
CFile::shareDenyRead         以拒绝其他进程对文件读的方式打开。如果文件已经被其他进程以compatibility模式或读打开,则文件创建失败。
CFile::shareDenyWrite         以拒绝其他进程对文件写的方式打开。如果文件已经被其他进程以compatibility模式或写打开,则文件创建失败。
CFile::shareExclusive           以exclusive方式打开,拒绝其他进程对文件的读写。如果该文件已经被不管任何进程以任何方式打开都构建失败。
CFile::shareCompat              此标志在32位MFC中无效。该标志当使用CFile::Open时映射为CFile::shareExclusive。
CFile::typeText                     以文本方式打开。
CFile::typeBinary                  以二进制方式打开(只在派生类中使用)。
CFile::osNoBuffer                系统打开文件不开系统缓存。可查看Platform SDK中CreateFile的FILE_FLAG_NO_BUFFERING。
CFile::osWriteThrough        通过任何快速缓存并直接写磁盘的标志。可查看Platform SDK中CreateFile的FILE_FLAG_WRITE_THROUGH。
CFile::osRandomAccess    随机访问文件方式。系统使用这种方式优化文件缓冲区。
CFile::osSequentialScan    从开头到结尾的顺序访问文件方式。系统使用这种方式来优化文件缓冲区。可查看Platform SDK中CreateFile的FILE_FLAG_SEQUENTIAL_SCAN。
里面有几种模式可能是SDK中的高级模式,使用频率不高,不过应该可以在某种场合满足用户的一些高级要求。因为我没有用到过,所以可能翻译的理解上有偏差。如果以后有幸能理解透彻,再来斟酌修改吧。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值