gpt4 book ai didi

c++ - 如何使用 stringstream 将数据正确存储到数组结构中?

转载 作者:搜寻专家 更新时间:2023-10-31 00:29:53 24 4
gpt4 key购买 nike

<分区>

我想知道如何将 CSV 文件中的数据存储到结构化数组中。我意识到我需要使用 getline 等,到目前为止我已经想出了这段代码:

这是我的结构:

struct csvData //creating a structure
{
string username; //creating a vector of strings called username
float gpa; //creating a vector of floats called gpa
int age; //creating a vector of ints called age
};

这是我的数据读取器和存储数据的部分:

csvData arrayData[10];
string data;
ifstream infile; //creating object with ifstream
infile.open("datafile.csv"); //opening file
if (infile.is_open()) //error check

int i=0;
while(getline(infile, data));
{
stringstream ss(data);
ss >> arrayData[i].username;
ss >> arrayData[i].gpa;
ss >> arrayData[i].age;
i++;
}

此外,这就是我尝试打印信息的方式:

for (int z = 0; z<10; z++)
{
cout<<arrayData[z].username<<arrayData[z].gpa<<arrayData[z].age<<endl;
}

但是,当运行这个命令时,我得到了一些似乎是随机数的信息:

1.83751e-0383 03 4.2039e-0453 1.8368e-0383 07011688

我假设这一定是运行的数组没有正确存储变量,因此我正在读取随机内存槽,但是,我不确定。

最后,这是我尝试读取的 CSV 文件。

username,gpa,age
Steven,3.2,20
Will,3.4,19
Ryan,3.6,19
Tom,3,19

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