首页 > 编程语言 >C++ getline整行读入以及使用stringstream 按分隔字符split出单词

C++ getline整行读入以及使用stringstream 按分隔字符split出单词

时间:2023-02-20 15:45:46浏览次数:51  
标签:inputLine C++ 整行 split 读入 stringstream getline

问题:直接通过while(cin>>str), 遇到空格就会停止。比如,输入dfah adfj djfak只能输入前两个单词。
解决:

  1. 要读入一整行,需通过getline(cin, inputLine)读入。
  2. 按分隔符split字符串,使用getline(stringstream, string, char delimiter);

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

int main() {
    string inputLine;
    getline(cin, inputLine); // 输入一整行
    stringstream ss(inputLine);  // 用输入的一整行初始化stringstream
    string word;
    while(getline(ss, word, ' ')){  // 以空格作为delimiter
        cout<<word<<endl;
    }
    return 0;
}

标签:inputLine,C++,整行,split,读入,stringstream,getline
From: https://www.cnblogs.com/qiangz/p/17137669.html

相关文章

  • c++关键字学习
    const修饰普通变量const有以下几个方面的作用:1)定义const常量,具有不可变性(只读变量)。2)进行类型检查,使编译器对处理内容有更多了解,消除一些隐患。3)避免意义模糊的数字出......
  • 第13届蓝桥杯青少年组C++第5题 金箍棒
    解题思路首先猜想最终相等的元素t的范围,最终应为数组中的某个元素。若t小于数组中所有的元素,则此时增大t,那么所有元素变为t的次数将减小,可见t并非最优解;若t大于数组中......
  • 线段树板子C++
    structnode{intl,r,sum,lazy;node*lson,*rson;node(){l=r=sum=lazy=0;lson=rson......
  • 从C到C++
    从C到C++(二)目录从C到C++(二)一、域运算符C++中新增作用域标识符:::二、new、delete运算符new运算符可以用于创建堆空间三、重载四、namemanagling与extern“C”五、带默认......
  • C、C++、python、java
    C++和Python的区别python是一种脚本语言,是解释执行的,而C++是编译语言,是需要编译后在特定平台运行的。python可以很方便的跨平台,但是效率没有C++高。Python使用缩进来区......
  • C/C++学生选课管理系统[2023-02-20]
    C/C++学生选课管理系统[2023-02-20]4.15学生选课管理系统题目描述:假定有n门课程,每门课程有课程编号,课程名称,课程性质(必须/选修),学时,授课学时,实验或上机学时,学分等信......
  • C++ primer 5th 第一章阅读笔记
    第一章开始第一节编写一个简单的C++程序不同编译器使用不同的后缀命名约定,比如cc、cpp、c。比如main程序保存到prog1.cc中,可以使用如下命令来编译它:ccprog1.cc。其中......
  • Carbon真的会替代C++吗
    个人认为Carbon并不是一个编程语言,而是一个已经被苹果公司弃用的macOS开发框架,曾经用于编写ClassicMacOS和早期版本的macOS应用程序。因此,Carbon并不能替代C++......
  • 【C/C++】知识点
    序链接备注1C语言0长度数组(可变数组/柔性数组)详解_CHENGJian的博客-CSDN博客_0数组 2     ......
  • C\C++ 埃氏筛法
     1埃氏筛法的基本思想:从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的。1#include<iostream>2usingnamespacestd;3constintmaxn=1000;4i......