文章目录

    • 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)相关推荐

  1. C# 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件)

    C# 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件) **需求** **流程** 1 .调用支付宝接口, 获取zip 下载地址 2.工具代码 需求 定时任务:每天统计昨天的公司支付宝账户实际 ...

  2. Java 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件)

    Java 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件) **需求** **流程** 1 .调用支付宝接口, 获取zip 下载地址 2.工具类代码 3.目录 4.开发环境 5.更新实际收益到 ...

  3. python写文件读文件-python--文件流读写

    在讲述fileinput模块之前,首先说一下python内置的文件API-open()函数以及与其相关的函数. 我这里主要讲讲其中四个比较重要和常用的方法,更多的方法,可以参考:菜鸟教程http:// ...

  4. python写文件读文件-Python 实例:读写文件

    原标题:Python 实例:读写文件 读写文件是最常见的IO操作.内置了读写文件的函数,用法和的读写文件非常类似.在磁盘上读写文件的功能都是由提供的,现代不允许普通的程序直接操作磁盘,所以,读写文件就 ...

  5. python写文件读文件-Python 读写文件和file对象的方法(推荐)

    1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.tx ...

  6. python写文件读文件-Python文件读写

    在本章中将介绍Python 3中可用的所有基本文件读取I/O功能.有关更多功能,请参考标准Python文档. 打印到屏幕 产生输出的最简单方法是使用print语句,可以传递零个或多个由逗号分隔的表达式 ...

  7. python写文件读文件-python(文件读写)

    %%writefile test.txt    先自己写一个模块. 这是一个中文文档 第二行 第三行 第四行 读这个文件有两种方法: 可以是f = open("test.txt") ...

  8. 汇编语言的建立、写、读文件

    用汇编语言编写一个程序,新建一个文件abc.txt,从键盘输入abc.txt文件的内容(不超过100个字符),然后新建另外一个文件def.txt,将abc.txt文件的前10个字符复制到def.txt ...

  9. c语言 创建写文件/读文件

    /*将数组中的数据放在文件里面 然后把文件里的数据又放在了另一个数组中 */ #include <stdio.h> int main() {FILE *fp,*fp_r;int i, a[ ...

最新文章

  1. 全息技术“量子飞跃”或彻底改变成像技术
  2. SQL Server select into 用法
  3. Eclipse插件CheckStyle的安装和使用
  4. 【Android 插件化】Hook 插件化框架 ( 从源码角度分析加载资源流程 | Hook 点选择 | 资源冲突解决方案 )
  5. Vue.js实现tab切换效果
  6. 【采用】互联网反欺诈体系建设
  7. Java基础 之软引用、弱引用、虚引用
  8. 21天Jmeter打卡Day8 get/delete/put之间的请求
  9. python下载官网-Python2.7.10
  10. [osg][原创]osg多屏幕显示,会出现透明需要设置的问题
  11. 解决Layui表格需表头固定悬浮的问题
  12. 计算机电路电子技术试题答案,数字电子技术试题库及答案解析知识分享
  13. 计算机网络之子网掩码,子网掩码
  14. IMAP4 读取收件箱的问题
  15. 一文详解被阿里腾讯视作核心机密的大数据平台架构
  16. cmake编译时中途报错:undefined reference to ‘xxx‘.未定义引用
  17. 软件构造Lab2-Playing Chess
  18. 全景图像拼接(一)关于全景拼接论文推荐
  19. 数学之美—细数 傅里叶变换 原理
  20. lammps案例:水分子在石墨烯狭缝中流动的案例代码

热门文章

  1. linux下安装realplayer
  2. 情人节求婚PPT模板
  3. Django框架——模型层单表操作、模型层多表操作、模型层常用和非常用字段和参数、模型层进阶
  4. 长三角城市数字经济发展水平评估白皮书
  5. 05- web网站链接测试与XENU工具使用
  6. dhtml是基于html的一门语言,用户直接使用集成的动态HTML语言(简称DHTML)来开发基于.ppt...
  7. Sitime SIT8009BI-82-33E-125.000000Y 125M晶振
  8. How I Used a JSON Deserialization Oday to Steal Your Money on the Blockchain
  9. Nagios配置文件简单介绍
  10. 虹科案例|NASA利用太赫兹技术探测月球上的水源