CFile类

1、特点

(1)    MFC中文件类的基类。

(2)    二进制(字节)读写。

(3)    带参数的构造函数自动打开文件,析构自动关闭文件。

(4)    文件打开方式组合:5个类别 = 读写+字符+共享+创建+缓存

a) 读写(access mode):modeRead(默认)、modeWrite、modeReadWrite

b) 字符(character mode):typeBinary、typeText、typeUnicode

CFile只处理二进制文件,字符模式只用于派生类中。

typeUnicode用于字符配置为Unicode的应用程序。

c) 共享(share mode):shareDenyNone、shareDenyRead、shareDenyWrite、shareExclusive(独占,默认)

d) 创建(creation mode):modeCreate(覆盖)、modeNoTruncate(附加,默认)

共同点:没有则创建。

区别:文件存在modeCreate 覆盖,modeNoTruncate附加。

e) 缓存(caching mode):osNoBuffer、osRandomAccess、osSequentialScan、osWriteThrough

默认系统使用通用缓冲方案,该方案不作为选项。

2、公共方法:

(1)    Open

a) 通过返回值判断是否成功。

b) 示例:

CFile MyFile;if( !MyFile.Open( "no_such_a_file", CFile::modeRead) ){AfxMessageBox( "open error!" );
}

(2)    Abort、Close关闭文件

a) 区别:Abort关闭文件会忽略异常,并且不会发生中断。

(3)    Duplicate构造重复的文件对象。

(4)    Flush刷新缓存区,强制输出缓存区内容。

(5)    LockRange、UnlockRange:锁定文件中指定区域内容,禁止其他线程访问。

(6)    Read、write字节读写

(7)    Remove删除

(8)    Rename重命名

(9)    Seek、seektobegin、seektoend文件定位

(10)  获取文件信息:GetFileName、GetFilePath、GetFileTitle、GetLength、GetPosition、GetStatus。

(11)  设置更改文件信息:SetFilePath、SetLength、SetStatus。

3)      公共数据成员

(1)    hFileNull确定是否有合法句柄

(2)    m_hFile文件句柄

4)      示例:

(1)    在构造时打开文件。

try{CFile sysFile(_T("C:\\WINDOWS\\SYSTEM.INI"), CFile::modeRead);sysFile.Close();}catch (CFileException* pEx){pEx->ReportError();pEx->Delete();}

(2)    使用open打开文件。

CFile MyFile;if( !MyFile.Open( "no_such_a_file", CFile::modeRead) ){AfxMessageBox( "open error!" );MyFile.abort();Return;}try{//文件操作}catch (CFileException* pEx){pEx->ReportError();pEx->Delete();}

CStdioFile类

1、特点

(1)继承CFile;

(2)可以按行读写文本:ReadString、WriteString;

(3)WriteString向文件中写文本时,需要添加换行符“\n”。

注:WriteString会自定补全回车换行符,即将“\n”或"\r"都会自动转换为"\r\n",如果添加了"\r\n",则会自动转换为"\r\n\r\n"

(4)其他用法参考CFile

MFC CFile CStdioFile文件学习相关推荐

  1. MFC CFile 读写文件

    CFile类 文件的读写,文件中的数据读取.数据写入与文件指针的操作都是以字节为单位. 数据的读取和写入是从文件指针的位置开始的(当打开一个文件的时候,文件指针默认在文件的开头). CFile中最重要 ...

  2. MFC中的文件读写技术

    计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的. 面向存储的文件技术 什么是文件?计算机中, ...

  3. CStdioFile类学习

    CStdioFile 类学习笔记 2007-7-17 CStdioFile 类的声明保存再 afx.h 头文件中. CStdioFile 类继承自 CFile 类, CStdioFile 对象表示一个 ...

  4. Cmap和Carray以及Cstring的使用以及MFC中的文件读写

    参考资料:百度文库http://wenku.baidu.com/view/ddd1b32558fb770bf78a55a5.html?from=search http://wenku.baidu.co ...

  5. MFC中打开文件对话框:CFileDlg

    MFC中打开文件对话框:CFileDlg CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOO ...

  6. 孙鑫-MFC笔记七--文件与注册表

    c 语言对文件的操作是通过 FILE 结构体来完成的 1 定义一个文件结构体的指针,获取文件结构体指针并付给       如何打开一个文件    FILE *fopen(const char*file ...

  7. C++使用CFile类文件读写

    C++,MFC使用Cfile类文件读写的一个例程. 操作包括: CSV文件","分隔内容 文件换行操作 文件末尾位置查找 文件写入 官方文件参考: https://docs.mic ...

  8. MFC读取bin文件并以16进制显示出来

    **MFC读取bin文件并以16进制显示出来** 最近由于项目需要.需要对目标板的bin文件进行修改后使用.所以就想自己写一个上位机小工具来进行操作,结果在做的过程中遇到了一些意想之外问题(本人MFC ...

  9. C#内存映射文件学习总结

    C#内存映射文件学习 http://www.cnblogs.com/flyant/p/4443187.html 内存映射文件是由一个文件到进程地址空间的映射. C#提供了允许应用程序把文件映射到一个进 ...

最新文章

  1. 嵌入式中的 *(volatile unsigned int *)0x500 解释
  2. css 浮动在最上层_CSS编码规范
  3. 用WebORB实现flex + .net后台的Remoting
  4. 【ios】如何成为一名ios开发
  5. php协程 多线程,【swoole.2.01】多进程,多线程和协程
  6. java stream 泛型
  7. 使用adb命令启动模拟器
  8. 新型博客网站的运营要素分析
  9. Java开发一年经验北京薪资,全网首发!
  10. 华为 编程语言实验室,薪水_作为实验室科学家学习编程
  11. 校验注解:@Valid 和 @Validated区别与用法(附详细案例)
  12. php实用教程第3版郑阿奇课后答案_PHP实用教程(第3版)
  13. linux接路由器没反应,路由器连接网线指示灯没反应完美解决方法
  14. 获取代理IP(proxy_pool)
  15. 时间戳指什么呢?(通俗易懂的简介大白话)
  16. Springboot-项目启动加载类
  17. 基于嵌入式Linux的无线路由器设计——Bridged Adapter网桥模式
  18. 《转怒为喜---顾客抱怨投诉处理技巧》
  19. 伯努利分布(Bernoulli distribution)
  20. 驼峰式与下划线命名规则

热门文章

  1. 【计算机毕业设计】java jsp+ssm大学校园宿舍零食便利店系统
  2. windows的几个内置账户
  3. 使用PQmagic磁盘分区大师导致磁盘文件丢失
  4. usb_modeswitch移植到海思3531D平台(华为E8372h-155)
  5. 修复损坏的gzip压缩文件原理和修复方法
  6. C#好书盘点【月儿原创】
  7. 数字电源的特点与发展现状
  8. 基于容积卡尔曼滤波算法(CKF)锂电池SOC估计
  9. java web.xml taglib_java – 在web.xml中声明JSP taglib指令
  10. 【RDMA】基于RoCE v1配置PFC (非讲原理)