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

问题:直接通过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;
}

posted on   七昂的技术之旅  阅读(306)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示