stringstream操纵string的方法总结

发布时间 - 2026-01-10 21:57:31    点击率:

1 split字符串

之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组。在用C++操纵字符串的时候,我一直使用很笨的遍历的方法。为此,我问候过很多次C++标准委员会。直到某一天,我做了一个处理绝对路径的题目。

首先,我要把‘/'作为分隔符,把输入字符串split一下。下面是我的代码: 

string inputString("/home/fun/./../code/");
stringstream ss(inputString);
string tmp;
while(getline(ss,tmp,'/'))
{
    if(tmp.empty())  continue;
    bulabula;       
}

神奇的是getline函数,此函数配合stringstream使用,就实现了split函数的功能。简直历害!

2 格式化输入

当我们有一个字符串需要解析的时候,可以使用stringstream。

string inputString("123abc 123.4one two three four");
  stringstream ss(inputString);
  string s;
  int i;
  double d;
  ss >> i >> s >> d;
  cout << i << " " << s.c_str() << " " << d ;
  while (ss >> s)
    cout <<" "<<s.c_str();
  cout << endl;

输出:

123 abc 123.4 one two three four

是不是很好用呢?不过要注意,当我们使用>>来格式化输入数值型变量的时候,后面是不需要跟空格的,而使用>>来格式化输入string或char*的时候,后面一定要跟空格。当然格式化输入string,我们也可以使用getline(ss,s,' ')。一样的效果。

有标准库用的时候,还是要用的,事半功倍!

以上就是小编为大家带来的stringstream操纵string的方法总结全部内容了,希望大家多多支持~


# stringstream  # string  # C++中stringstream的用法和实例  # C++利用stringstream进行数据类型转换实例  # C++如何通过ostringstream实现任意类型转string  # 浅谈stringstream 的.str()正确用法和清空操作  # 可以使用  # 当我们  # 的是  # 分隔符  # 遍历  # 不是很  # 我一直  # 要把  # 要注意  # 要用  # 用过  # 事半功倍  # 不需  # 好用  # 要跟  # 小编  # 大家多多  # 很多次  # 有一个  # 若干个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现模型属性的自动加密  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  如何在万网ECS上快速搭建专属网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何解决hover在ie6中的兼容性问题  Laravel如何保护应用免受CSRF攻击?(原理和示例)  装修招标网站设计制作流程,装修招标流程?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何在阿里云通过域名搭建网站?  Java类加载基本过程详细介绍  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  iOS验证手机号的正则表达式  高端智能建站公司优选:品牌定制与SEO优化一站式服务  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  微信小程序 require机制详解及实例代码  如何快速登录WAP自助建站平台?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel如何使用Blade组件和插槽?(Component代码示例)  Laravel Session怎么存储_Laravel Session驱动配置详解  什么是javascript作用域_全局和局部作用域有什么区别?  如何用虚拟主机快速搭建网站?详细步骤解析  北京的网站制作公司有哪些,哪个视频网站最好?  如何在服务器上配置二级域名建站?  免费视频制作网站,更新又快又好的免费电影网站?  微信小程序 canvas开发实例及注意事项  详解jQuery停止动画——stop()方法的使用  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  如何基于云服务器快速搭建个人网站?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  济南网站建设制作公司,室内设计网站一般都有哪些功能?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  在centOS 7安装mysql 5.7的详细教程  JavaScript数据类型有哪些_如何准确判断一个变量的类型  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  5种Android数据存储方式汇总  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel如何实现API速率限制?(Rate Limiting教程)  微信小程序 五星评分(包括半颗星评分)实例代码  音乐网站服务器如何优化API响应速度?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  制作电商网页,电商供应链怎么做?