如何从文件中读取一行数字到列表中?

时间:2013-02-20 13:11:43

标签: c++

假设我有一个带有第一行数据“3 59 98”的.in文件和第二行数据“8 52 77 45”。

我正在尝试将每行整数读入列表。我已经了解如何制作列表并将数字放入列表中。我遇到的问题是如何将第一行数字放入列表对象中。

以下是我到目前为止的想法:

// in is a filestream object
int a
while (in >> a)
{
     integer_list.push_back(a);
}

我知道这不起作用,因为它将两行数字放在一个列表中。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

使用getline读取整行,然后从此行创建std::istringstream。从std::istringstream中读取列表中的数字,就像从文件流中读取一样。

答案 1 :(得分:-2)

您需要做的是创建一个整数列表列表,尽管在C ++中您更喜欢使用vector

std::vector< std::vector<int> > list_of_integer_lists;

然后对于每一行,您将添加一个新列表或向量。

list_of_integer_lists.push_back( std::vector<int>() );

并为每行添加数字到最后一个列表。

list_of_integer_lists.back().push_back( number );