如何获取整数直到 \n 为 n 行

How to get integers until \n for n number of lines

我的输入: 第一个输入是输入将包含的行数

5
7 3 29 0
3 4 3 
2 3 4 55 5
2 3
1 2 33 4 5

我的问题是如何将它们存储在向量的向量中..?

我的概念..

.
.
.
cin>>n;
vector<vector<int>>vec;
while(n--)
{
    vector<int>vec2;
    for(**Getting input until the line**){
    vec2.emplace_back(input);}
    vec.emplace_back(vec2)
}

我需要实现获取输入直到行。为此,我想将输入作为字符串并在将其转换为 c_string 后使用 strtok 将值存储在向量 vec2 中......但我需要知道是否有任何我可以有效地解决这个问题..

这是我的建议,YMMV。

  1. 将每一行读入一个字符串。
  2. 使用 istringstream 将字符串中的整数提取到向量中。
  3. 字符串处理后,push_back向量进入外层向量
    unsigned int rows;  
    std::cin >> rows;  
    std::string text_row;  
    for (unsigned int i = 0U; i < rows; ++i)  
    {  
        std::getline(cin, text_row);  
        std::istringstream numbers_stream(text_row);  
        std::vector<int>  row_data;  
        int number;  
        while (numbers_stream >> number)  
        {  
            row_data.push_back(number);  
        }  
        vec.push_back(row_data);  
    }