假设我有一个带有第一行数据“3 59 98”的.in文件和第二行数据“8 52 77 45”。
我正在尝试将每行整数读入列表。我已经了解如何制作列表并将数字放入列表中。我遇到的问题是如何将第一行数字放入列表对象中。
以下是我到目前为止的想法:
// in is a filestream object
int a
while (in >> a)
{
integer_list.push_back(a);
}
我知道这不起作用,因为它将两行数字放在一个列表中。
有什么建议吗?
答案 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 );