CFileDialog、CStdioFile读取文件中的内容,每行按空格依次读入
注:
1、该文件为固定为3列的小数txt文件,且数字之间以空格隔开
2、CFileDialog 与 CStdioFile 类:
class CFileDialog : public CCommonDialog //afxdlgs.h
class CStdioFile : public CFile //afx.h

CFileDialog 主要用于MFC界面开发中。

一、CFileDialog 与 CStdioFile 联合使用的程序大致框架如下:

注意:

     file.ReadString(Data)返回bool值,如果读到的该行字符长度为0,则返回0;否则,返回1,相当于文件读取结束标志!

代码:

 CFileDialog dlg(TRUE);dlg.m_ofn.lpstrFilter = _T("txt Files(*.txt)\0*.txt\0所有文件(*.*)\0*.*\0\0");if (dlg.DoModal() == IDOK){CStdioFile file(dlg.m_ofn.lpstrFile, CFile::modeRead);//定义文件的路径和只读模式file.Seek(0, CFile::begin);CString Data;while (file.ReadString(Data)){//将一行数据读取到 CString Data中//处理每一行数字,按空格进行分割 begin...//处理每一行数字,按空格进行分割 end}file.Close();}

二、处理每一行数字,按空格进行分割
1、C语言 strtok方法:

         //处理每一行数字,按空格进行分割 beginchar a[150] = "", b[150] = "";for (int i = 0; i < 150; i++){ a[i] = '\0'; }//强行加入了'\0',每一行字符串后面的'\0'字符结
尾符放进来memcpy(a, Data, Data.GetLength() * 2);//将Data赋值到a中for (int i = 0, j = 0; i < 150; i += 2, j++){ b[j] = a[i]; }C3DPoint p;p.x = atof(strtok(b, " "));p.y = atof(strtok(NULL, " "));//第二次调用该函数strtok(NULL,","),第一个参数设置为NULL。结果返回分割依据后面的字串,即第二次输出d。p.z = atof(strtok(NULL, " "));v_pointArray.push_back(p);//保存该点到向量 vector<C3DPoint> v_pointArray中//处理每一行数字,按空格进行分割 end

2、C++ stringstream
首先,将每行CString字符->string;
然后,用转换过来的string型变量,来初始化stringstream 变量;
最后,根据stringstream 变量自动按空格分割的特性,直接读入到C3DPoint p中即可。

         //处理每一行数字,按空格进行分割 beginstring line = CT2A(Data.GetBuffer());//Unicode下:将CString->string  stringstream ss(line);//头文件 sstream.hC3DPoint p;while (ss >> p.x >> p.y >> p.z){}//知晓固定的列数为3列,即为x,y,z三个坐标值。v_pointArray.push_back(p);//保存该点到向量 vector<C3DPoint> v_pointArray中//处理每一行数字,按空格进行分割 end

CFileDialog、CStdioFile读取文件中的内容,每行按空格依次读入相关推荐

  1. 使用php读取文件中的内容,以表格的形式进行输出。

    使用php读取文件中的内容,以表格的形式进行输出. 读取文件中的内容,以表格的形式输出内容,地址以小写及链接的形式进行显示. file_get_contents (文件名):读取文件中的内容 expl ...

  2. Java基础,读取文件中的内容写入到另外一个文件。

    有两种方法,首先: 第一种方法:一次性全部读取所有文件内容(这里Arrays.sort(b)代表对字节进行排序,如果不需要进行删除即可) import java.io.FileInputStream; ...

  3. 用流读取文件中的内容

    File file = new File("D:\\test.txt");//定义一个file对象,用来初始化FileReader FileReader reader = new ...

  4. Objective-C:随机的读取文件中的内容

    可以通过改变当前文件的偏移量来实现文件的读取 -offsetInFile获取文件当前的位移量 -seekToFileOffset:(NSUInteger)length设置文件当前的位移量 -readD ...

  5. python读取文件中的内容_python 读取文件夹中的文件内容

    看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来 ...

  6. python读取文件中的内容并输出_Python从文件中读取字符串并进行解析

    Python是一门简单易学的编程语言,也是目前相当流行的一门编程语言,它在各种场景都有着不错的表现咱们今天就来谈谈Python常见的几种字符串处理方式. 首先,使用的测试数据为ip.txt,文件内容为 ...

  7. python怎么读文件里的某一行-python如何读取文件中的某几行

    python读取文件的指定行,可以使用以下的方法 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) ...

  8. python读出文件中的内容_Python读取文本内容

    综述 在Python中,读文件主要分为三个步骤: 打开文件 . 读取内容 . 关闭文件 .一般形式如下: try: file = open('/path/to/file', 'r') # 打开文件 d ...

  9. Android 读取本地txt文件中的内容

    Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...

最新文章

  1. 核磁共振影像数据处理-3-DTI基础、Li‘s have a solution and plan.
  2. python内存管理错误的是_关于Python内存管理,下列说法错误的是
  3. String类中常用的方法
  4. ubuntu的sudo输入密码时光标不动的问题
  5. Wpf控件ListBox使用实例2
  6. PySpider问题记录http599
  7. udev工作流程简图
  8. python+gensim︱jieba分词、词袋doc2bow、TFIDF文本挖掘
  9. BulkRen文件批量改名工具的一点点使用心得
  10. Multisim14仿真基本模拟电路之 10.5电压比较器及其应用电路的仿真实验与分析
  11. Java爬取喜马拉雅非付费音频【优化】
  12. idea破解到2100年
  13. 《增长黑客》- 读书笔记(一)
  14. 2022年安全员-B证考试题库及安全员-B证模拟试题
  15. 【证明题】(一)微分中值定理
  16. 编译原理及其实践教程(第二版)总结
  17. CSP_201412-2_Z字形扫描
  18. python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令
  19. (四)Bug的生命周期
  20. 三维动漫计算机配置,三维动画软件之Houdini软件的电脑配置要求_渲云动态

热门文章

  1. 曙光服务器打开登录账号,曙光IPMI系统管理平台用户使用指南.pptx
  2. 用创意点亮生活——魔法师刘谦
  3. Java教程,Java基础教程,2020年全新Java基础学习教程
  4. 详解LK光流法(含金字塔多层光流),反向光流法(附代码)
  5. sicily 2013
  6. 中南c语言作业答案,C语言程序设计习题集沈国荣-参考答案
  7. Spring Boot Welcome Page 欢迎页功能
  8. NumberFormat(数字格式化类)+工具类
  9. 服务器安全IP安全策略,批处理屏蔽危险端口
  10. php 怎么生成本地连接地址,电脑如何创建本地连接?电脑创建本地连接的操作方法...