源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

stringstream操纵string的方法总结

  • 时间:2021-07-10 08:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:stringstream操纵string的方法总结
[b]1 split字符串[/b] 之前在用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函数的功能。简直历害! [b]2 格式化输入[/b] 当我们有一个字符串需要解析的时候,可以使用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;
[b]输出:[/b] [b]123 abc 123.4 one two three four[/b] 是不是很好用呢?不过要注意,当我们使用>>来格式化输入数值型变量的时候,后面是不需要跟空格的,而使用>>来格式化输入string或char*的时候,后面一定要跟空格。当然格式化输入string,我们也可以使用getline(ss,s,' ')。一样的效果。 有标准库用的时候,还是要用的,事半功倍! 以上就是小编为大家带来的stringstream操纵string的方法总结全部内容了,希望大家多多支持编程素材网~
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部