gpt4 book ai didi

C++从文本文件中读取并分离成 vector

转载 作者:行者123 更新时间:2023-11-28 05:57:44 26 4
gpt4 key购买 nike

尝试从格式为的文本文件中读取:

Jamie 27 31
Tom 31 22
Rashid 22 19
Sarah 18 22
Ricardo 90 27

我想把它分成三个 vector ,<name> , <x><y> :

ifstream in ("data.txt");
vector<string> names;
string name;
if (!in)
return;
while (in >> name)
names.push_back(name);

然后 x 同样如此和 y但是用vector<int> .

就目前而言,这段代码会将所有单词读入 names并将它们视为字符串。我需要对 x 做一些数学运算和 y所以我需要它们作为 int 类型。

我正在考虑使用倍数,但我确信有更优雅的解决方案。如,y一旦读入names,将始终有一个完全被三整除的索引,前提是我在 names[0] 中创建一个空的第一个位置.谁能帮帮我?

韩国

最佳答案

怎么样:

...
vector <int> x;
vector <int> y;
...
...
int num_x, num_y;
while (in >> name >> num_x >> num_y){
names.push_back(name);
x.push_back(num_x);
y.push_back(num_y);
}

有不同的方法。但是例如,您可以像这样访问元素:

for(int i=0; i<names.length(); i++){
cout << "index " << i << " names: "<< names[i] << ", x:" << x[i] << ", y:" << y[i] << "\n";
}

关于C++从文本文件中读取并分离成 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831269/

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