利用CStdioFile类实现写文件读文件(mfc)
文章目录
- 1、主要函数
- 1、1读文件
- 1、2写文件
- 2、补充知识
- 3、说明
二话不说,先上代码!
1、主要函数
1、1读文件
// TODO: 在此添加控件通知处理程序代码CFileDialog dlgFile(TRUE, _T("txt"), NULL, OFN_ALLOWMULTISELECT | OFN_EXPLORER, _T("(文本文件)|.txt"));//OFN_ALLOWMULTISELECT “ 文件名 ”列表框允许多个选择。 如果还设置了 OFN_EXPLORER 标志,对话框将使用资源管理器样式的用户界面; 否则,它使用旧式用户界面。
//OFN_EXPLORER 指示对 “打开 ”或“ 另存为 ”对话框所做的任何自定义都使用资源管理器样式的自定义方法。if(dlgFile.DoModal()== IDCANCEL)//IDOK 或 IDCANCEL。 如果返回 IDCANCEL,请调用 Windows CommDlgExtendedError 函数以确定是否发生了错误。
//IDOK 和 IDCANCEL 是常量,指示用户选择了“确定”按钮还是“取消”按钮。return;CString strFileName = dlgFile.GetPathName();//获取打开文件文件名,文件名包括前缀和扩展名。 例如,对于文件 C : \FILES\TEXT.DAT,GetFileName 会返回“TEXT.DAT”。setlocale(LC_ALL, "");//设置语言环境CStdioFile sf;//定义文件if(!sf.Open(strFileName, CFile::modeRead)) return;//设置打开文件方式CString strLine;readin.Empty();//清空richeditBOOL bEOF = sf.ReadString(strLine);//读取一行while (bEOF)//判断是否到达文件末尾{readin+=strLine;bEOF = sf.ReadString(strLine);//读取一行if (bEOF)//判断是否到达文件末尾readin+=_T("\n");//添加换行符}sf.Close();//关闭文件UpdateData(FALSE);
1、2写文件
void CMFCApplication5Dlg::OnBnClickedButton1()
{// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);CFileDialog dlgFile(FALSE, _T("txt"),NULL,OFN_EXPLORER,_T("文本文件)| * .txt"));//创建打开文件对话框if (dlgFile.DoModal()==IDCANCEL) return;CString strFileName = dlgFile.GetPathName();//获取文件名setlocale(LC_ALL, "");//设置语言环境CStdioFile sf;if(!sf.Open(strFileName, CFile::modeCreate | CFile::modeWrite)) return;//设置打开方式,打开失败返回sf.WriteString(writein);//写文件sf.Close();//关闭文件UpdateData(FALSE);
}
2、补充知识
1、CFileDialog类(针对其参数来讲)
// 参数1:BOOL bOpenFileDialog,//[in] 参数,指定要创建的对话框类型。 将其设置为 TRUE 可构造“文件 > 打开”对话框。 将其设置为 FALSE 可构造“文件 > 另存为”对话框。
// 参数2:LPCTSTR lpszDefExt = NULL,//[in]默认的文件扩展名。 如果用户不包含已知扩展名 (在文件名框中) 用户计算机上具有关联的扩展, 则 lpszDefExt 指定的扩展名会自动追加到文件名中。 如果此参数为 NULL,则不会追加任何扩展名。
// 参数3:LPCTSTR lpszFileName = NULL,//[in] “文件名”框中显示的初始文件名。 如果为 NULL,则不会显示初始文件名。
// 参数4:DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,//[in] 一个或多个标志的组合,可用于自定义对话框。 有关这些标志的说明,请参阅 Windows SDK 中的 OPENFILENAME 结构。
// 参数4:LPCTSTR lpszFilter = NULL, /一系列字符串对,用于指定可应用于文件的筛选器。 如果指定文件筛选器,
// 则只有与筛选条件匹配的文件才会显示在“文件”列表中, 例如excel的筛选器可以编写如下
// 参数5:static TCHAR BASED_CODE szFilter[] = _T("Chart Files (.xlc)|.xlc|")
// _T("Worksheet Files (.xls)|.xls|Data Files (.xlc;.xls)|“)
// _T(”.xlc; .xls|All Files (.)|.*||");szFilter为第五个参数
// 参数6:CWnd pParentWnd = NULL,
// 参数7:DWORD dwSize = 0,
// 参数8:BOOL bVistaStyle = TRUE);/后面三个参数不常用/
2、C 库函数 – setlocale() | 菜鸟教程 (runoob.com)
3、打开文件的方式,本文主要用到示例8:SaveResult(写文件)和示例5: getJfResultFromFile(读文件)。
3、说明
本文代码主要参考戴吾蛟老师编写的《测绘程序设计》,主要为了分析代码和其中运用到的知识,在此分享给大家!
利用CStdioFile类实现写文件读文件(mfc)相关推荐
- C# 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件)
C# 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件) **需求** **流程** 1 .调用支付宝接口, 获取zip 下载地址 2.工具代码 需求 定时任务:每天统计昨天的公司支付宝账户实际 ...
- Java 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件)
Java 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件) **需求** **流程** 1 .调用支付宝接口, 获取zip 下载地址 2.工具类代码 3.目录 4.开发环境 5.更新实际收益到 ...
- python写文件读文件-python--文件流读写
在讲述fileinput模块之前,首先说一下python内置的文件API-open()函数以及与其相关的函数. 我这里主要讲讲其中四个比较重要和常用的方法,更多的方法,可以参考:菜鸟教程http:// ...
- python写文件读文件-Python 实例:读写文件
原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...
- python写文件读文件-Python 读写文件和file对象的方法(推荐)
1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.tx ...
- python写文件读文件-Python文件读写
在本章中将介绍Python 3中可用的所有基本文件读取I/O功能.有关更多功能,请参考标准Python文档. 打印到屏幕 产生输出的最简单方法是使用print语句,可以传递零个或多个由逗号分隔的表达式 ...
- python写文件读文件-python(文件读写)
%%writefile test.txt 先自己写一个模块. 这是一个中文文档 第二行 第三行 第四行 读这个文件有两种方法: 可以是f = open("test.txt") ...
- 汇编语言的建立、写、读文件
用汇编语言编写一个程序,新建一个文件abc.txt,从键盘输入abc.txt文件的内容(不超过100个字符),然后新建另外一个文件def.txt,将abc.txt文件的前10个字符复制到def.txt ...
- c语言 创建写文件/读文件
/*将数组中的数据放在文件里面 然后把文件里的数据又放在了另一个数组中 */ #include <stdio.h> int main() {FILE *fp,*fp_r;int i, a[ ...
最新文章
- 全息技术“量子飞跃”或彻底改变成像技术
- SQL Server select into 用法
- Eclipse插件CheckStyle的安装和使用
- 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )
- Vue.js实现tab切换效果
- 【采用】互联网反欺诈体系建设
- Java基础 之软引用、弱引用、虚引用
- 21天Jmeter打卡Day8 get/delete/put之间的请求
- python下载官网-Python2.7.10
- [osg][原创]osg多屏幕显示,会出现透明需要设置的问题
- 解决Layui表格需表头固定悬浮的问题
- 计算机电路电子技术试题答案,数字电子技术试题库及答案解析知识分享
- 计算机网络之子网掩码,子网掩码
- IMAP4 读取收件箱的问题
- 一文详解被阿里腾讯视作核心机密的大数据平台架构
- cmake编译时中途报错:undefined reference to ‘xxx‘.未定义引用
- 软件构造Lab2-Playing Chess
- 全景图像拼接(一)关于全景拼接论文推荐
- 数学之美—细数 傅里叶变换 原理
- lammps案例:水分子在石墨烯狭缝中流动的案例代码
热门文章
- linux下安装realplayer
- 情人节求婚PPT模板
- Django框架——模型层单表操作、模型层多表操作、模型层常用和非常用字段和参数、模型层进阶
- 长三角城市数字经济发展水平评估白皮书
- 05- web网站链接测试与XENU工具使用
- dhtml是基于html的一门语言,用户直接使用集成的动态HTML语言(简称DHTML)来开发基于.ppt...
- Sitime SIT8009BI-82-33E-125.000000Y 125M晶振
- How I Used a JSON Deserialization Oday to Steal Your Money on the Blockchain
- Nagios配置文件简单介绍
- 虹科案例|NASA利用太赫兹技术探测月球上的水源