stringstream操纵string的方法总结
2019/7/10 22:52:45
本文主要是介绍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 <<" "<<s.c_str(); cout << endl;
输出:
123 abc 123.4 one two three four
是不是很好用呢?不过要注意,当我们使用>>来格式化输入数值型变量的时候,后面是不需要跟空格的,而使用>>来格式化输入string或char*的时候,后面一定要跟空格。当然格式化输入string,我们也可以使用getline(ss,s,' ')。一样的效果。
有标准库用的时候,还是要用的,事半功倍!
以上就是小编为大家带来的stringstream操纵string的方法总结全部内容了,希望大家多多支持找一找教程网~
这篇关于stringstream操纵string的方法总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29Excel中实现拖动排序的简易教程
- 2024-11-29如何在Excel中使用拖动排序功能
- 2024-11-28阿里云 ECS课程:新手入门教程
- 2024-11-27Excel中实现拖动排序的简单教程
- 2024-11-27Rocket消息队列资料:新手入门指南
- 2024-11-27rocket消息队资料详解与入门指南
- 2024-11-27RocketMQ底层原理资料详解入门教程
- 2024-11-27RocketMQ项目开发资料:新手入门教程
- 2024-11-27RocketMQ项目开发资料详解
- 2024-11-27RocketMQ消息中间件资料入门教程