CFileDialog、CStdioFile读取文件中的内容,每行按空格依次读入
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读取文件中的内容,每行按空格依次读入相关推荐
- 使用php读取文件中的内容,以表格的形式进行输出。
使用php读取文件中的内容,以表格的形式进行输出. 读取文件中的内容,以表格的形式输出内容,地址以小写及链接的形式进行显示. file_get_contents (文件名):读取文件中的内容 expl ...
- Java基础,读取文件中的内容写入到另外一个文件。
有两种方法,首先: 第一种方法:一次性全部读取所有文件内容(这里Arrays.sort(b)代表对字节进行排序,如果不需要进行删除即可) import java.io.FileInputStream; ...
- 用流读取文件中的内容
File file = new File("D:\\test.txt");//定义一个file对象,用来初始化FileReader FileReader reader = new ...
- Objective-C:随机的读取文件中的内容
可以通过改变当前文件的偏移量来实现文件的读取 -offsetInFile获取文件当前的位移量 -seekToFileOffset:(NSUInteger)length设置文件当前的位移量 -readD ...
- python读取文件中的内容_python 读取文件夹中的文件内容
看thinking in java的时候发现有个题的答案不确定结果, 于是下载答案看下,结果是 这个样子的,这样要怎么才能找到相对应的答案?于是我就着手写了一个快速遍历的脚本(我这里只是单纯的找了出来 ...
- python读取文件中的内容并输出_Python从文件中读取字符串并进行解析
Python是一门简单易学的编程语言,也是目前相当流行的一门编程语言,它在各种场景都有着不错的表现咱们今天就来谈谈Python常见的几种字符串处理方式. 首先,使用的测试数据为ip.txt,文件内容为 ...
- python怎么读文件里的某一行-python如何读取文件中的某几行
python读取文件的指定行,可以使用以下的方法 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) ...
- python读出文件中的内容_Python读取文本内容
综述 在Python中,读文件主要分为三个步骤: 打开文件 . 读取内容 . 关闭文件 .一般形式如下: try: file = open('/path/to/file', 'r') # 打开文件 d ...
- Android 读取本地txt文件中的内容
Android 读取本地txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputSt ...
最新文章
- 核磁共振影像数据处理-3-DTI基础、Li‘s have a solution and plan.
- python内存管理错误的是_关于Python内存管理,下列说法错误的是
- String类中常用的方法
- ubuntu的sudo输入密码时光标不动的问题
- Wpf控件ListBox使用实例2
- PySpider问题记录http599
- udev工作流程简图
- python+gensim︱jieba分词、词袋doc2bow、TFIDF文本挖掘
- BulkRen文件批量改名工具的一点点使用心得
- Multisim14仿真基本模拟电路之 10.5电压比较器及其应用电路的仿真实验与分析
- Java爬取喜马拉雅非付费音频【优化】
- idea破解到2100年
- 《增长黑客》- 读书笔记(一)
- 2022年安全员-B证考试题库及安全员-B证模拟试题
- 【证明题】(一)微分中值定理
- 编译原理及其实践教程(第二版)总结
- CSP_201412-2_Z字形扫描
- python调用adb shell命令_如何在python脚本里面连续执行adb shell后面的各种命令
- (四)Bug的生命周期
- 三维动漫计算机配置,三维动画软件之Houdini软件的电脑配置要求_渲云动态
热门文章
- 曙光服务器打开登录账号,曙光IPMI系统管理平台用户使用指南.pptx
- 用创意点亮生活——魔法师刘谦
- Java教程,Java基础教程,2020年全新Java基础学习教程
- 详解LK光流法(含金字塔多层光流),反向光流法(附代码)
- sicily 2013
- 中南c语言作业答案,C语言程序设计习题集沈国荣-参考答案
- Spring Boot Welcome Page 欢迎页功能
- NumberFormat(数字格式化类)+工具类
- 服务器安全IP安全策略,批处理屏蔽危险端口
- php 怎么生成本地连接地址,电脑如何创建本地连接?电脑创建本地连接的操作方法...