MFC总结(一):MFC中文件操作、查找与选择总结(1)
2011-12-27 22:03
169 查看
本文主要涉及以下几个方面,均为在MFC编程中较为常用的:CFile操作、CArchive操作、如何选择文件和文件夹、如何查找文件、获取当前目录、_access函数等。
(一)使用CFile类操作文件
CFile类在MFC的文件操作中应该是最常用的了。主要的成员函数有Open、Close、Write、Read、Seek、SeekToEnd、GetLength、GetPosition,具体用法见MSDN。
(1)文件打开操作:
文件打开有两种方式,一种是先定义类对象,在用Open函数打开;一种是在定义类对象时传入文件名和打开方式。分别如下
CFile file;
if(!file.Open(lpszFileName, nOpenFlags ))
return;
或
CFile file(lpszFileName, nOpenFlags);
(2)文件打开方式:
文件打开方式,即上述nOpenFlags的值主要由一些宏定义的值组合而成,具体见MSDN,常用的有如下几种:
A. CFile::modeCreate | CFile::modeNoTruncate |CFile::modeWrite ,以写文件的方式打开,如果文件不存在,则新建文件,否则打开已有文件进行写入操作,此时不会清空原有文件;
B. 将上述CFile::modeWrite更换为CFile::modeRead 或者CFile::modeReadWrite 可实现读操作或者同时读写。
(3)判断文件结束
判断文件是否结束,没有结束则继续读取,否则关闭退出。这点在编程时常用。对于CFile常用的判断文件结束的方法是:
while(file.GetPosition() < file.GetLength())
{ //文件未结束
//Add code ....
}
(4)值得注意的几点:
A. 当文件名中包含路径时,要注意使用\\,如C:\\MyFile.DAT,在Unicode下时,需要使用_T("C:\\MyFile.DAT");
B. 采用(2)中A方式写文件时,注意使用file.SeekToEnd()将文件指针移至文件尾,再写入,否则会覆盖已有的数据,这点经常被很多初学者忽视;
C. 在打开文件后就要紧接着写下Close,养成这样的习惯,避免忘记关闭文件。特别是在对某个读出的数据进行判断,如何符合条件则函数返回,此时一定要切记返回前关闭文件;
D. CFile读写文件都是按照字节来实现的。
未完,待续。。。。
(一)使用CFile类操作文件
CFile类在MFC的文件操作中应该是最常用的了。主要的成员函数有Open、Close、Write、Read、Seek、SeekToEnd、GetLength、GetPosition,具体用法见MSDN。
(1)文件打开操作:
文件打开有两种方式,一种是先定义类对象,在用Open函数打开;一种是在定义类对象时传入文件名和打开方式。分别如下
CFile file;
if(!file.Open(lpszFileName, nOpenFlags ))
return;
或
CFile file(lpszFileName, nOpenFlags);
(2)文件打开方式:
文件打开方式,即上述nOpenFlags的值主要由一些宏定义的值组合而成,具体见MSDN,常用的有如下几种:
A. CFile::modeCreate | CFile::modeNoTruncate |CFile::modeWrite ,以写文件的方式打开,如果文件不存在,则新建文件,否则打开已有文件进行写入操作,此时不会清空原有文件;
B. 将上述CFile::modeWrite更换为CFile::modeRead 或者CFile::modeReadWrite 可实现读操作或者同时读写。
(3)判断文件结束
判断文件是否结束,没有结束则继续读取,否则关闭退出。这点在编程时常用。对于CFile常用的判断文件结束的方法是:
while(file.GetPosition() < file.GetLength())
{ //文件未结束
//Add code ....
}
(4)值得注意的几点:
A. 当文件名中包含路径时,要注意使用\\,如C:\\MyFile.DAT,在Unicode下时,需要使用_T("C:\\MyFile.DAT");
B. 采用(2)中A方式写文件时,注意使用file.SeekToEnd()将文件指针移至文件尾,再写入,否则会覆盖已有的数据,这点经常被很多初学者忽视;
C. 在打开文件后就要紧接着写下Close,养成这样的习惯,避免忘记关闭文件。特别是在对某个读出的数据进行判断,如何符合条件则函数返回,此时一定要切记返回前关闭文件;
D. CFile读写文件都是按照字节来实现的。
未完,待续。。。。
相关文章推荐
- MFC总结(一):MFC中文件操作、查找与选择总结(2)
- MFC总结(一):MFC中文件操作、查找与选择总结(3)
- MFC个人笔记--创建属性表,并通过文件操作,保存属性表中用户的选择 的步骤
- MFC中简单的数据库文件操作(添加,修改,查找,删除)
- MFC选择文件目录查找带有指定后缀的所有文件
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- (转)基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- 基于MVC+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- MFC中简单的数据库文件操作(添加,修改,查找,删除)
- MFC中简单的数据库文件操作(添加,修改,查找,删除)
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- MFC文件操作大全,打开,保存,复制,删除,查找等
- 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作
- 转载:MFC文件/文件夹操作查找、复制、删除
- MFC个人笔记--创建属性表,并通过文件操作,保存属性表中用户的选择 的步骤
- VC++/MFC操作ini配置文件详解
- BASH命令和SHELL脚本总结(18)使用ACK在指定类型的文件中进行查找
- MFC文件操作
- Python常用文件操作总结
- VC6.0 MFC操作文件:记录文本信息