-1

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

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

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

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

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

有什么建议么?

4

2 回答 2

1

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

于 2013-02-20T13:15:17.097 回答
-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 );
于 2013-02-20T13:23:08.857 回答