C++ istringstream

1. istringstream是什么
2. 它的 “规则” 是什么?
3. 什么能分割,什么不能分割?
4. 基本用法:按空白符分割
5. 实践练习
6. 学习要点总结

一. istringstream是什么

istringstream:字符串的流式读取器(简明扼要

1️⃣ 一本书 📚

string line="Hello World C++";

就像一本合上的书,文字都在里面,但无法逐页阅读。

2️⃣ 阅读器 📱

istringstreamiss(line);

就像把书放入电子阅读器,现在可以一页页翻看了!

3️⃣ 翻页阅读 👆

iss>>word;// 读取一个单词

🎬 完整过程演示

string book="The quick brown fox";istringstreamreader(book);// 放入阅读器string page;reader>>page;// 翻到第1页: "The"reader>>page;// 翻到第2页: "quick"reader>>page;// 翻到第3页: "brown"reader>>page;// 翻到第4页: "fox"

学习要点总结

书 → 阅读器 → 翻页 = 字符串 → istringstream → >> 操作符

  • 阅读器让静态文字变成可流动阅读的内容
  • 每次翻页(>>)自动处理多余空白
  • 阅读器知道什么时候读完(流状态)

二.它的 “规则” 是什么?

操作符的默认行为:

  1. 跳过前导的空白字符(空格、制表符、换行符等)
  2. 读取直到遇到下一个空白字符
  3. 不包含空白字符本身

三.什么能分割,什么不能分割?

✅ 能自动处理的情况:

cpp"a b c"// → "a", "b", "c" (多个空格)" hello world "// → "hello", "world" (前后空格)"one\ttwo\nthree"// → "one", "two", "three" (制表符、换行符)

❌ 不能直接处理的情况:

cpp// 1. 按逗号分割"apple,banana,cherry"// → 会得到 "apple,banana,cherry" (整个字符串)// 而不是 "apple", "banana", "cherry"// 2. 按特定字符分割"192.168.1.1"// → 会得到 "192.168.1.1" (整个字符串)// 而不是 "192", "168", "1", "1"// 3. 保留空字段"a,,c"// → 会得到 "a", "c" (跳过空字段)// 而不是 "a", "", "c"

如果要 “随意分割” 怎么办?
对于复杂的分割,需要 std::getline + 分隔符:

cpp#include<iostream>#include<sstream>#include<string>intmain(){std::string data="apple,banana,cherry";std::istringstreamiss(data);std::string fruit;// 按逗号分割while(std::getline(iss,fruit,',')){std::cout<<fruit<<std::endl;}// 输出:// apple// banana// cherryreturn0;}

四.基本用法:按空白符分割

cpp string text="C++ is awesome!";istringstreamiss(text);string word;while(iss>>word){// >> 操作符自动跳过空格cout<<word<<endl;}// 输出:// C++// is// 练习1:单词计数器

处理多种数据类型

cpp string info="Alice 25 165.5 true";istringstreamiss(info);string name;intage;doubleheight;boolenrolled;iss>>name>>age>>height>>enrolled;

五.实践练习

练习2:成绩计算器

cpp string scores="85 92 78 88 95";istringstreamiss(scores);intscore,total=0,count=0;while(iss>>score){total+=score;count++;}cout<<"平均分: "<<(double)total/count<<endl;

练习3:提取数字

cpp string mixed="abc 123 def 456 ghi";istringstreamiss(mixed);string token;intnumber;while(iss>>token){istringstreamtemp_iss(token);if(temp_iss>>number){cout<<"找到数字: "<<number<<endl;}}

练习3:单词排序与去重

cpp string text="apple banana apple orange banana";istringstreamiss(text);string word;set<string>unique_words;while(iss>>word){unique_words.insert(word);}// unique_words: {"apple", "banana", "orange"}

✅ 学习要点

  1. istringstream 将字符串转换为可读取的流
  2. 操作符按空白符分割并自动类型转换
  3. 适用于格式规范的文本解析
  4. 配合getline() 可实现按指定分隔符分割
  5. 是 C++ 中处理字符串分割的优雅解决方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1120417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XUnity Auto Translator:打破语言壁垒,让外语游戏无障碍畅玩

XUnity Auto Translator&#xff1a;打破语言壁垒&#xff0c;让外语游戏无障碍畅玩 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为游戏语言不通而放弃一款心仪的作品&#xff1f;是否因为…

python基于django的小程序 大学生食堂餐厅点餐系统_1312vhtr

目录 基于Django的大学生食堂点餐系统设计 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 基于Django的大学生食堂点餐系统设计 该系统采用PythonDjango框架开发&#xff0c;结合…

ms-swift支持序列分类任务构建情感分析解决方案

ms-swift 构建情感分析系统的实践路径 在当今企业智能化转型的浪潮中&#xff0c;如何从海量用户文本中快速提取情绪倾向&#xff0c;已成为客服系统、社交舆情监控和产品反馈分析的核心能力。传统的情感分析方案多依赖小型模型&#xff08;如 BERT-Base&#xff09;&#xff0…

使用LaTeX撰写ms-swift技术文档提升公式表达质量

使用LaTeX撰写ms-swift技术文档提升公式表达质量 在大模型与多模态系统快速演进的今天&#xff0c;一个常被忽视但至关重要的问题逐渐浮现&#xff1a;我们如何确保复杂的算法设计能够被准确、高效地传递给团队成员和社区开发者&#xff1f; 尤其是在处理像 DPO、GRPO 或 MoE …

python基于django的小程序 宠物服务系统_宠物托运系统 宠物用品商城系统s8s5b3d6

目录 项目概述核心功能技术亮点应用场景 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 项目概述 该项目是一个基于Django框架开发的宠物服务系统&#xff0c;整合了宠物托运、宠…

学长亲荐8个一键生成论文工具,本科生轻松搞定毕业论文!

学长亲荐8个一键生成论文工具&#xff0c;本科生轻松搞定毕业论文&#xff01; 论文写作的“救星”来了&#xff0c;AI 工具如何改变你的毕业之路 随着人工智能技术的飞速发展&#xff0c;越来越多的本科生开始借助 AI 工具来提升论文写作效率。尤其是那些在学术写作中感到吃力…

通过FastStone Capture注册码获取截图工具辅助调试

通过FastStone Capture注册码获取截图工具辅助调试 在大模型研发日益工程化的今天&#xff0c;一个看似微不足道的调试细节&#xff0c;往往可能成为项目推进的关键瓶颈。比如&#xff0c;你在训练一个多模态模型时突然遇到显存溢出&#xff0c;终端日志一闪而过、没有完整堆栈…

python基于django的小程序 宠物领养系统_c27l9jc8

目录系统概述技术架构核心功能特色与优化应用场景关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 Python基于Django的小程序宠物领养系统是一个结合Web后端与移动端应用的…

HBase数据模型详解,解锁大数据存储奥秘

元数据框架 标题&#xff1a;HBase数据模型详解&#xff0c;解锁大数据存储奥秘关键词&#xff1a;HBase、数据模型、大数据存储、分布式系统、列式存储摘要&#xff1a;本文深入探讨了HBase数据模型&#xff0c;旨在帮助读者解锁大数据存储的奥秘。首先介绍了HBase的领域背景、…

python基于django的微信小程序的家政服务评价平台的设计与实现_家庭保洁预约系统25s7qom8

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 该系统基于Python的Django框架开发&#xff0c;结合微信小程序前端&#xff0c;构建了一个家政服务评价与家庭保洁预约…

Plate:一款基于 React 和 Slate.js 的现代化富文本编辑器框架

开篇唠嗑 各位老铁们&#xff0c;今天我们来摆一摆一个超级好用的 React 富文本编辑器框架——Plate&#xff01; 说实话&#xff0c;做富文本编辑器的都知道&#xff0c;这玩意儿坑多得很。要么是功能太弱鸡&#xff0c;要么是定制太麻烦&#xff0c;用第三方组件吧&#xf…

python基于django的小程序 基于协同过滤算法的校园服务平台_校园活动报名系统2qt0p731

目录摘要概述技术架构功能模块算法实现应用价值关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要概述 该项目是一个基于Django框架和协同过滤算法的校园服务平台&#xff0c;聚焦…

基于Simulink的基于IMU与编码器融合的姿态估计仿真

目录 手把手教你学Simulink 一、引言&#xff1a;为什么“仅靠IMU或仅靠编码器都无法准确估计人形机器人躯干姿态”&#xff1f; 二、理论基础&#xff1a;姿态表示与传感器原理 1. 姿态表示&#xff1a;欧拉角&#xff08;俯仰 Pitch&#xff09; 2. IMU测量模型 3. 编码…

基于Simulink的自适应模糊PI-MPPT控制仿真

手把手教你学Simulink--基础MPPT控制场景实例&#xff1a;基于Simulink的自适应模糊PI-MPPT控制仿真手把手教你学Simulink——基础MPPT控制场景实例&#xff1a;基于Simulink的自适应模糊PI-MPPT控制仿真一、引言&#xff1a;为什么需要“自适应模糊PI”做MPPT&#xff1f;传统…

python基于django的小程序 小区果蔬商城_社区买菜系统qh07pw60

目录小区果蔬商城系统概述功能模块说明技术实现要点应用场景与优势关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;小区果蔬商城系统概述 该系统基于Django框架开发&#xff0c;专为…

SPA首屏加载速度慢的怎么解决

SPA&#xff08;单页应用&#xff09;首屏加载慢的核心原因是 首次需要加载大量的 JS 包、资源文件&#xff0c;且路由渲染依赖前端 JS 解析&#xff0c;容易出现 “白屏” 或加载延迟。以下是一套分层优化方案&#xff0c;从资源层面、渲染层面、网络层面逐步解决&#xff1a;…

python基于django的小程序 师生互动桥系统_学生作业考试管理系统n9485x0l

目录系统概述核心功能模块技术实现亮点应用场景与优势关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 Python基于Django的师生互动桥系统&#xff08;学生作业考试管理系统…

多模态大模型有哪些模态?

“多模态”中的“模态”&#xff08;modality&#xff09;&#xff0c;即指各类数据形式或信息来源。在多模态大模型中&#xff0c;典型模态涵盖以下类别&#xff1a; 文本模态‌&#xff1a; 涵盖自然语言文本、经语音识别转换的文本内容等。 最近两年&#xff0c;大家都可以…

python基于django的小程序 思政考核管理系统_cv4lm54k

目录Python基于Django的小程序思政考核管理系统关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;Python基于Django的小程序思政考核管理系统 思政考核管理系统是一款基于Python和Dja…

安科瑞智慧能源平台赋能光储电站容量优化与协调控制

唐雪阳安科瑞电气股份有限公司 上海嘉定 201801一、引言储能型光伏电站是破解可再生能源间歇性、不稳定性难题的关键路径&#xff0c;对提升能源利用率、保障电网稳定运行、推动绿色能源转型具有重要意义。随着光伏技术迭代与成本下降&#xff0c;光伏发电在能源结构中的占比持…