有效地将文件中的模式存储在向量中
Storing pattern in file in a vector effectively
目前,我有这个用于从文件中获取数据:
ifstream ifs("input");
istream_iterator<string> begin(ifs),end;
vector<string> students(begin,end);
但是现在文件中的数据有一个模式:
string string int
......
我试过这个
ifstream ifs(input);
istream_iterator<string, string, int> begin(ifs), end;
vector<string, string, int> students(begin, end);
但它不起作用。
甚至可以这样做还是我必须使用标准 for 循环?
创建一个包含两个字符串和一个 int 的结构,以及一个重载的 operator>>
。
struct Thingy
{
std::string a, b;
int c;
};
std::istream& operator>>(std::istream& is, Thingy& t) {
return is >> t.a >> t.b >> t.c;
}
然后,您可以创建这些对象的向量,如下所示:
ifstream ifs("input");
istream_iterator<Thingy> begin(ifs),end;
vector<Thingy> students(begin,end);
相关文章:
- 访问存储在向量C++中的结构的多态成员
- 添加存储在向量中的大整数的函数出现问题
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 如何从用户那里获取输入并将其存储在向量中?
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 将无符号字符的向量存储在数组中会给我 std::bad_alloc
- 在二维向量或数组中可以存储的最大元素数是多少?
- 存储在堆分配向量中的指针的免费存储
- 将相同共享指针的副本存储在不同的向量中是否是一种好的做法?
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- Sqlite3:将数据库表名存储在向量中
- 如何在数组和向量 c++ 中存储和保存输入
- C++ 将抽象类型的动态分配对象传递给函数并存储在向量中
- 是否可以在类中存储unique_ptr,并在C++中存储向量?
- 在向量 C++14(无限制联合)的结构内的联合中创建和存储字符串
- 在固定大小的向量中存储指向元素的指针
- 无法将派生类存储在基类指针的向量中
- 如何访问和存储向量类型的结构成员
- 如何按索引存储向量的向量
- findnonzero() 中存储向量<Point>中非零元素的坐标时出错