栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

stringstream操纵string的方法总结

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

stringstream操纵string的方法总结

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 <<" "<

输出:

123 abc 123.4 one two three four

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/63999.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号