| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5407 人关注过本帖
标题:c++如何读取包含多列不同类型数据的txt文件
取消只看楼主 加入收藏
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
c++如何读取包含多列不同类型数据的txt文件
txt文件格式如下:

score1 11.2 score2 10.1
score3 11.2 score4 10.1
score5 11.2 score6 10.1
...          ....
就是字符串 空格 数字的形式,总行数不定。
想要实现的是读入txt中的各列数字到数组中,并进行排序。
只是不知道怎么读
用ifstream + getline只能把每行读成一个字符串,不能直接读到数组中
这个有没有比较成熟的方法?
搜索更多相关主题的帖子: c++ 类型 数据 txt 文件 
2018-06-28 14:09
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 3楼 rjsp
不好意思,没表达清楚。
我的目的是:

输入:txt文件,格式如下
score1 1 score2 2
score3 3 score4 4
score5 5 score6 6
...         ...

输出:取出txt中的第2,4列,存入数组中
      数组1={1,3,5,...};
      数组2={2,4,6,...};

需要注意的是原txt的行数是不固定的,也就是数组1,2的长度事先是不知道的。

不知道这样的表达能明白吗
2018-06-28 15:07
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 5楼 rjsp
非常感谢版主的回答,代码中有个地方不太明白:
for( double b,d; fin>>a>>b>>c>>d; )
        {
            sb.push_back(b);
            sd.push_back(d);
        }
这里的"fin>>a>>b>>c>>d;"是什么意思?

另外我是想学习下这部分的内容,请问是看stl相关的吗?不想拿来主义啊
2018-06-28 16:27
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 7楼 rjsp
恩恩,感谢点拨。
我其实不明白的是  for( double b,d; fin>>a>>b>>c>>d; )

1.这句话,for循环的终止条件是什么? 因为以前写都是   
程序代码:
string str;
                                                          ifstream in; 
                                                          while(in>>str)
                                                          //或者
                                                          while (in >> str, in)


2.fin>>a>>b>>c>>d,就是默认>>可以自动的将文件流中的double类型数据读进来,而不需要加类型控制(%f)这种?

以前用的都是C和matlab,代码量还是太小,还要多学习
2018-06-28 18:22
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 9楼 Jonny0201
我刚专门测试了一下,下面三种while的写法都是可以的,会把文件流in里面的数据以空格为界限,一个个赋给字符串str。
第一个就是赋值完成后跳出;
第二个是in为空跳出;
第三个是in到末尾跳出。

string str;
ifstream in;

while(in>>str)
//while (in >> str, in)
//while (in >> str, !in.eof())
{
...
}

写法很多,不过不知道哪一种是比较规范和稳定的
2018-06-29 09:34
快速回复:c++如何读取包含多列不同类型数据的txt文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016221 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved