【C++】C++读取文本中的特定一列
【fishing-pan:https://blog.csdn.net/u013921430转载请注明出处】
前言
文件读入是数据处理中经常要用到的。很多数据的保存是按列保存的,例如我们常见的表格。那么,如何读取文本中特定的一列呢?本文以常见的txt文本为例,讲解一下如何读取文本中特定的某一列。
代码
为了方便讲解,我先把程序完整的代码给出,方便讲解。
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <vector>using namespace std;int main(){ifstream myfile("G:\\博客\\C++\\C++读取文本中的一列\\test.txt");if (!myfile.is_open()){cout << "Unable to open myfile";system("pause");exit(1);}vector<string> vec;string temp;while (getline(myfile, temp)) //利用getline()读取每一行,并按照行为单位放入到vector{vec.push_back(temp);}vector <float> radius;cout << "读入的数据为 " << endl;for (auto it = vec.begin(); it != vec.end(); it++){cout << *it << endl;istringstream is(*it); //用每一行的数据初始化一个字符串输入流;string s;int pam = 0;while (is >> s) //以空格为界,把istringstream中数据取出放入到依次s中{if (pam == 5) //获取第六列的数据{float r = atof(s.c_str()); //做数据类型转换,将string类型转换成floatradius.push_back(r);//cout << r << endl;}pam++;}}cout << "读入的第6列数据为 " << endl;for (auto it = radius.begin(); it != radius.end(); it++){cout << *it << endl;}//cout << "successfully to open myfile";system("pause");return 1;
}
输入文本
输出结果
代码分析
文件读取
ifstream是文件读入流,头文件为fstream,相对应的还有文件写出流ofstream,文件读写流ftream。
代码中声明了一个输入流,并将其打开;
ifstream myfile("G:\\博客\\C++\\C++读取文本中的一列\\test.txt");
然后调用成员函数is_open(),判断文件是否被成功打开。
if (!myfile.is_open()){cout << "Unable to open myfile";system("pause");exit(1);}
按行读取文件中的内容
用getline()函数从打开的文件中,按照行读取;
getline(myfile,temp);
getline()函数的原型为:
istream&getline ( istream &is , string &str , char delim );
第一个参数是输入文件流;
第二个参数是传入的字符串;
第三个参数是结束标志符,即遇到某一个标识符停止读入,默认为换行符\n。
获取每一行中的内容
用读入的每一行的内容初始化一个字符串输入流;
istringstreamis(*it);
然后以空格为界限,从字符串输入流读入每一列;
is>> s;
最后转换类型,将数据放入vector中,结束后得到的vector中就包含了第6列的数据。
已完。。
建议大家自己把代码黏贴过去试一下就知道如何使用了。
【C++】C++读取文本中的特定一列相关推荐
- dos bat批处理的魅力 批处理读取文本中的每一行 操作文件
dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...
- 如何用python读取文本中指定行的内容
如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...
- python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例
在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...
- python输出文本和值_python读取文本中数据并转化为DataFrame的实例
在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...
- pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)
pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...
- Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11
package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...
- python读取文本中的内容
1.获取路径符 pathseq = os.path.seq 2.文本中获取内容 import os import sys from collections import OrderedDictdef ...
- mysql里面取列里面值_在MySQL中获取特定的列值(名称)
要获取特定的列值,请使用LIKE子句.让我们首先创建一个表-mysql> create table DemoTable1809 ( Name varchar(20) ); 使用插入命令在表中插入 ...
- python读取txt中的一列称为_Python读取文本中的数字
作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 1.例程1 先看文本内容形式: 1404796773468 ...
最新文章
- 关于 AppDelegate 、UIApplication 简单的用法
- 请确定指定的驱动器中是否有盘_百格拉伺服驱动器维修常见故障现象及处理方法...
- 知识图谱数据构建的“硬骨头”,阿里工程师如何拿下?
- 『中级篇』Dockerfile详解(17)
- java中的lombok_如何在Java中使用Lombok删除样板设置器吸气剂
- C++学习笔记之类和对象I
- Domino(群组工作软件)
- Android反编译apktool,dex2jar和jd-gui的使用和一键反编译查看apk
- ubuntu安装jdk出现的问题Failed to extract the files
- ApiPost 测试工具
- 接口测试常用文档模板介绍
- 容器网络之Kubernetes CNI
- 网站跳出率高解决方法
- 年终总结,怎么写领导才满意?
- android ppt素材,华为ppt素材库
- BMZCTF:insomniteaser_2019_l33t_hoster
- vmware启动虚拟机提示“无法连接虚拟设备ide1:0,主机上没有相对应的设备“
- stc89c52 单片机 修改头文件
- linux做前端的软件,Linux下使用的GCC编译器图形前端软件wxgcc
- 阿里云服务器ECS新手搭建
热门文章
- hoj2434 going to know him
- 使用ACDsee在一张纸上打印多张图片
- RadonDB - 部署教程
- 如何使用Caddy部署Vue项目
- 企业如何实际使用 Docker
- 更换 PVE7 软件仓库源和 CT 模板(LXC)源为国内源
- 解决Some index files failed to download.They have been ignored, or old ones used instead报错
- 【C语言】创建一个函数,并调用比较三个数的大小
- web应用自动化测试的演进
- 像程序员一样思考:如何仅使用JavaScript,HTML和CSS来构建Snake