C++从文本文件中读取并分离到向量中
C++ read from text file and seperate into vectors
尝试从具有以下格式的文本文件中读取:
Jamie 27 31
Tom 31 22
Rashid 22 19
Sarah 18 22
Ricardo 90 27
我想将其分为三个向量,<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 类型。
我正在考虑使用倍数,但我相信有一个更优雅的解决方案。例如,一旦读入names
,y
将始终有一个完全可以被三整除的索引,前提是我在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";
}
我建议将输入作为逐行(getline()
和istringstream()
(的字符串,解析输入(在C中用分隔符拆分字符串(,然后将其推送到向量中。如果需要转换,请运行简单的转换函数,例如atoi()
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- C++:如何读取分离变量,然后读取向量
- 向量未在分离的线程中推送值
- 为什么分离分配运算符| =不适用于布尔的向量
- 如何在 C++ 中的两个分离向量中保存两个数据殖民地
- 向量的向量,从数组中分离出不同的值
- C++从文本文件中读取并分离到向量中
- 对象的分离向量