第5节  CFile类

更新于 2026年10月10日 版权声明
第5节 CFile类

CFile类是MFC文件操作的基础类,如图5-27所示。该类封装了以CreateFile为主的File族API函数。文件操作主要有4种,即打开、关闭、读、写。CFile类的常用成员见表5-7。

图示

图5-27 CFile类

表5-7 CFile类的常用成员

图示

创建一个工程名为“NotePad”的基于对话框的程序,来演示CFile类成员函数的使用方法。

1)在主对话框中添加IDOK和IDCANCEL消息映射函数,阻止按<Enter>键或按<Esc>键退出。

图示

2)通过类向导添加WM_CLSOE消息映射函数,支持系统关闭命令。

图示

3)修改主对话框的字体和外观,并修改对话框属性,如图5-28所示。

图示

图5-28 编辑主对话框资源

4)选中IDOK和IDCANCEL按钮,按<Delete>键删除按钮并添加一个编辑控件,如图5-29所示。

图示

图5-29 添加编辑控件并修改控件属性

5)按快捷键<Ctrl+R>打开插入资源对话框,或者直接按快捷键<Ctrl+2>插入一个Menu资源,如图5-30所示。

图示

图5-30 添加菜单资源

6)新插入的菜单资源ID默认为IDR_MENU1,编辑菜单资源添加一些菜单项,如图5-31所示。

图示

图5-31 编辑菜单资源

7)编辑菜单添加3个命令子菜单和1个分隔条。所有菜单项的属性见表5-8。

表5-8 所有菜单项的属性

图示

8)在主对话框的属性设置中,在“Menu”下拉列表框中选择刚插入的菜单ID后按<Enter>键,如图5-32所示。

图示(https://www.daowen.com)

图5-32 编辑主对话框资源

9)编译并运行,测试代码,如图5-33所示。

图示

图5-33 查看运行结果

10)执行View→ClassWizard命令,或按快捷键<Ctrl+W>打开类向导,如图5-34所示。

图示

图5-34 添加菜单消息映射函数

11)选中“退出”菜单的ID_FILE_EXIT和右边列表中的COMMAND再单击“Add Functions”按钮,或者直接双击COMMAND列表项添加消息映射函数,最后单击“Edit Code”按钮编辑代码。

图示

12)用同样的方式为“打开”和“保存”菜单项建立消息函数并修改代码。

图示

图示

13)编译并运行,测试代码,如图5-35所示。

使用“打开”和“保存”菜单,可以对所有文本文件进行编辑,包括TXT、INI和CPP等文件。

图示

图5-35 查看运行结果

14)CFile类和API函数的等价关系。

CFile类封装的文件操作类,以CreateFile函数返回的句柄为核心。在实际开发中很多软件的文件操作,还是直接使用API函数来开发。直接使用API函数对文件操作的优点是运行效率高,而且程序更安全稳定;使用MFC封装的CFile类原因就是简单且容易使用。

15)使用CreateFile等API函数来修改代码。

图示

图示

16)详细阅读MSDN中File族API函数的相关说明,见表5-9。

表5-9 CFile类成员函数封装的API函数

图示

所有以上API函数都是通过句柄进行操作的,CFile类的所有操作都是通过类对象来实现的,因为每个CFile对象都含有一个文件句柄类型的成员变量。就如同每个计算机内,都含有一个CPU内核一样。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)