如何从文本文件中读取

时间:2018-02-08 01:00:49

标签: c++ text-files

我有一个包含两行的文本文件,每行包含一个由空格分隔的整数。我怎样才能读取每个int的向量,每行是不同的向量?

例如,文本文件包含:

1 2 5 8 12 23 9 100 -4

4 8 5 4 8 43 9 7 1 2 5

我想从这个文本文件中读取,将每个int存储在一个向量中,但每行都在不同的向量中,所以vec1和vec2。

2 个答案:

答案 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>());
}