MFC CFile CStdioFile文件学习
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文件学习相关推荐
- MFC CFile 读写文件
CFile类 文件的读写,文件中的数据读取.数据写入与文件指针的操作都是以字节为单位. 数据的读取和写入是从文件指针的位置开始的(当打开一个文件的时候,文件指针默认在文件的开头). CFile中最重要 ...
- MFC中的文件读写技术
计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的. 面向存储的文件技术 什么是文件?计算机中, ...
- CStdioFile类学习
CStdioFile 类学习笔记 2007-7-17 CStdioFile 类的声明保存再 afx.h 头文件中. CStdioFile 类继承自 CFile 类, CStdioFile 对象表示一个 ...
- Cmap和Carray以及Cstring的使用以及MFC中的文件读写
参考资料:百度文库http://wenku.baidu.com/view/ddd1b32558fb770bf78a55a5.html?from=search http://wenku.baidu.co ...
- MFC中打开文件对话框:CFileDlg
MFC中打开文件对话框:CFileDlg CFileDialog 文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOO ...
- 孙鑫-MFC笔记七--文件与注册表
c 语言对文件的操作是通过 FILE 结构体来完成的 1 定义一个文件结构体的指针,获取文件结构体指针并付给 如何打开一个文件 FILE *fopen(const char*file ...
- C++使用CFile类文件读写
C++,MFC使用Cfile类文件读写的一个例程. 操作包括: CSV文件","分隔内容 文件换行操作 文件末尾位置查找 文件写入 官方文件参考: https://docs.mic ...
- MFC读取bin文件并以16进制显示出来
**MFC读取bin文件并以16进制显示出来** 最近由于项目需要.需要对目标板的bin文件进行修改后使用.所以就想自己写一个上位机小工具来进行操作,结果在做的过程中遇到了一些意想之外问题(本人MFC ...
- C#内存映射文件学习总结
C#内存映射文件学习 http://www.cnblogs.com/flyant/p/4443187.html 内存映射文件是由一个文件到进程地址空间的映射. C#提供了允许应用程序把文件映射到一个进 ...
最新文章
- 嵌入式中的 *(volatile unsigned int *)0x500 解释
- css 浮动在最上层_CSS编码规范
- 用WebORB实现flex + .net后台的Remoting
- 【ios】如何成为一名ios开发
- php协程 多线程,【swoole.2.01】多进程,多线程和协程
- java stream 泛型
- 使用adb命令启动模拟器
- 新型博客网站的运营要素分析
- Java开发一年经验北京薪资,全网首发!
- 华为 编程语言实验室,薪水_作为实验室科学家学习编程
- 校验注解:@Valid 和 @Validated区别与用法(附详细案例)
- php实用教程第3版郑阿奇课后答案_PHP实用教程(第3版)
- linux接路由器没反应,路由器连接网线指示灯没反应完美解决方法
- 获取代理IP(proxy_pool)
- 时间戳指什么呢?(通俗易懂的简介大白话)
- Springboot-项目启动加载类
- 基于嵌入式Linux的无线路由器设计——Bridged Adapter网桥模式
- 《转怒为喜---顾客抱怨投诉处理技巧》
- 伯努利分布(Bernoulli distribution)
- 驼峰式与下划线命名规则
热门文章
- 【计算机毕业设计】java jsp+ssm大学校园宿舍零食便利店系统
- windows的几个内置账户
- 使用PQmagic磁盘分区大师导致磁盘文件丢失
- usb_modeswitch移植到海思3531D平台(华为E8372h-155)
- 修复损坏的gzip压缩文件原理和修复方法
- C#好书盘点【月儿原创】
- 数字电源的特点与发展现状
- 基于容积卡尔曼滤波算法(CKF)锂电池SOC估计
- java web.xml taglib_java – 在web.xml中声明JSP taglib指令
- 【RDMA】基于RoCE v1配置PFC (非讲原理)