我有一个包含两行的文本文件,每行包含一个由空格分隔的整数。我怎样才能读取每个int的向量,每行是不同的向量?
例如,文本文件包含:
1 2 5 8 12 23 9 100 -4
4 8 5 4 8 43 9 7 1 2 5
我想从这个文本文件中读取,将每个int存储在一个向量中,但每行都在不同的向量中,所以vec1和vec2。
答案 0 :(得分:0)
您可以将整数的数量放在循环中,并且可以在两个不同的向量中读取整数。
这是一个简单的代码
for(int i=0;i<number;i++)
{
infile>>x;
vectorObject1[x];
}
for(int i=0;i<number;i++)
{
infile>>x;
vectorObject2[x];
}
答案 1 :(得分:0)
如果您不知道序列中元素的确切数量,您可以先读取整行,然后将其放入istringstream
。就像在这个例子中一样:
vector<int> a[2];
for(int i=0; i<2; ++i) {
string buf;
getline(cin, buf);
istringstream iss(buf);
a[i].insert(a[i].end(),
std::istream_iterator<int>( iss ),
std::istream_iterator<int>());
}