【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++读取文本中的特定一列相关推荐

  1. dos bat批处理的魅力 批处理读取文本中的每一行 操作文件

    dos bat批处理的魅力 批处理读取文本中的每一行 操作文件 http://blog.sina.com.cn/s/blog_872457fd0100tasi.html 批处理读取文本中的每一 行 ( ...

  2. 如何用python读取文本中指定行的内容

    如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...

  3. python导入txt为dataframe-python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  4. python输出文本和值_python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  5. pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)

    pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...

  6. Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11

    package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...

  7. python读取文本中的内容

    1.获取路径符 pathseq = os.path.seq 2.文本中获取内容 import os import sys from collections import OrderedDictdef ...

  8. mysql里面取列里面值_在MySQL中获取特定的列值(名称)

    要获取特定的列值,请使用LIKE子句.让我们首先创建一个表-mysql> create table DemoTable1809 ( Name varchar(20) ); 使用插入命令在表中插入 ...

  9. python读取txt中的一列称为_Python读取文本中的数字

    作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591 1.例程1 先看文本内容形式: 1404796773468 ...

最新文章

  1. 关于 AppDelegate 、UIApplication 简单的用法
  2. 请确定指定的驱动器中是否有盘_百格拉伺服驱动器维修常见故障现象及处理方法...
  3. 知识图谱数据构建的“硬骨头”,阿里工程师如何拿下?
  4. 『中级篇』Dockerfile详解(17)
  5. java中的lombok_如何在Java中使用Lombok删除样板设置器吸气剂
  6. C++学习笔记之类和对象I
  7. Domino(群组工作软件)
  8. Android反编译apktool,dex2jar和jd-gui的使用和一键反编译查看apk
  9. ubuntu安装jdk出现的问题Failed to extract the files
  10. ApiPost 测试工具
  11. 接口测试常用文档模板介绍
  12. 容器网络之Kubernetes CNI
  13. 网站跳出率高解决方法
  14. 年终总结,怎么写领导才满意?
  15. android ppt素材,华为ppt素材库
  16. BMZCTF:insomniteaser_2019_l33t_hoster
  17. vmware启动虚拟机提示“无法连接虚拟设备ide1:0,主机上没有相对应的设备“
  18. stc89c52 单片机 修改头文件
  19. linux做前端的软件,Linux下使用的GCC编译器图形前端软件wxgcc
  20. 阿里云服务器ECS新手搭建

热门文章

  1. hoj2434 going to know him
  2. 使用ACDsee在一张纸上打印多张图片
  3. RadonDB - 部署教程
  4. 如何使用Caddy部署Vue项目
  5. 企业如何实际使用 Docker
  6. 更换 PVE7 软件仓库源和 CT 模板(LXC)源为国内源
  7. 解决Some index files failed to download.They have been ignored, or old ones used instead报错
  8. 【C语言】创建一个函数,并调用比较三个数的大小
  9. web应用自动化测试的演进
  10. 像程序员一样思考:如何仅使用JavaScript,HTML和CSS来构建Snake