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中的高级模式,使用频率不高,不过应该可以在某种场合满足用户的一些高级要求。因为我没有用到过,所以可能翻译的理解上有偏差。如果以后有幸能理解透彻,再来斟酌修改吧。
阅读更多
文章标签: file mfc 优化 磁盘
个人分类: C++ 日积月累
上一篇设计模式解决的问题
下一篇XP下安装Ubuntu8.04双系统
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭