C++ getline函数读取行数不定的输入

C++中的输入输出流函数非常强大,getline函数可以读取文件或终端的一行输入。在笔试题中经常遇到不定输入的问题,下面记录一下如何从终端读入行数不定的输入数据。

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;

int main()
{
    //line为每一行,word为每一行的一个数
    string line, word;
    int tmp;
    //单个输入数据
    vector<int> in;
    //一行输入数据
    vector<vector<int> > se;
    //循环读入数据
    while (getline(cin, line))
    {   
        //直到输入长度为0的时候,结束读入
        if (line.size() == 0) break;
        //使用istringstream 获取读入的一行
        istringstream record(line);
        //读取每一行中的单个数据
        while (record >> word)
            in.push_back(atoi(word.c_str()));
        se.push_back(in);
        in.clear();
    }
    
    for (int i = 0; i < se.size(); i++)
    {
        for (auto m : se[i])
            printf("%d  ", m);
        printf("\n");
    }
}

输出结果

1 2 3 4 5 (回车)
6 7 8 9 10 (回车)
(回车)
1  2  3  4  5
6  7  8  9  10
请按任意键继续. . .
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 浅谈C++常用输入输出 在编写C++程序的时候,经常因为输入输出头疼,所以在这里做一个小结,记录一下常用的输入输出...
    MinoyJet阅读 3,838评论 0 6
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,663评论 0 5
  • 1、cin简介 cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数...
    一天不工作浑身难受阅读 15,571评论 1 3
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,272评论 0 10
  • 正则学习 正则入门 有用的网站收集 有用的网站 js 工具库常用方法 js工具库 每日一点 Linux 每日一点L...
    _小家丁阅读 385评论 0 0

友情链接更多精彩内容