gpt4 book ai didi

c++ - 将文件的列读入数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:26 24 4
gpt4 key购买 nike

我正在读取的文件有一些列,每行有不同的列数,它们是不同长度的数值,我有固定的行数(20)如何将每一列放入数组?

假设我有如下数据文件(每列之间有制表符)

20   30      10
22 10 9 3 40
60 4
30 200 90
33 320 1 22 4

如何将这些列放入不同的数组中,第 1 列进入一个数组,第 2 列进入另一个数组。只有第2列有超过2个数字值,其余列有1个或2个数字值,除1、2、3外还有一些列为空

int main()
{
ifstream infile;
infile.open("Ewa.dat");

int c1[20], c2[20], ... c6[20];

while(!infile.eof()) {
//what will be the code here?
infile >>lines;
for(int i = 1; i<=lines; i++) {
infile >> c1[i];
infile >> c2[i];
.
.
infile >> c6 [20];
}
}
}

最佳答案

主要思想如下:

使用二维数组代替许多一维数组。
使用 std::string 读取每一行。
然后使用:istringstream is(str); 这将有助于解析字符串并像这样放入数组中:

while(...) {
....
getline(infile, str);
istringstream is(str);
j=0;
while(is)
{
is >> c[i][j];
}
i++;
....
}

剩下的就交给你了。

关于c++ - 将文件的列读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com