C++ 如何处理输入多行整数的问题

查看:398
本文介绍了C++ 如何处理输入多行整数的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

比如要求输入

1 2 -1
2 3 4 5 6
2 4 5

可能有无限行输入, 并且每一行输入的整数的数量不一, 我需要将每一行的整数存入一个数组, 但问题在于如果我使用std::cin >> x的话, 我不知道如何判断换行是否已经发生并且我也不知道如何判断输入已经结束了, 望解答.

解决方案

#include <sstream>
#include <string>
#include <vector>

std::string line, num;
std::vector<std::vector<int>> v;
size_t linenum = 0;
while (getline(cin, line)) {
    std::istringstream iss(line);
    while (line >> num) {
        v.push_back(vector<int>());
        v[linenum].push_back(stoi(num));
    }
    ++linenum;
}

我刚看完C++ primer,大概是这样的做法吧。

这篇关于C++ 如何处理输入多行整数的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆