stringstream操纵string的方法总结
1split字符串
之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组。在用C++操纵字符串的时候,我一直使用很笨的遍历的方法。为此,我问候过很多次C++标准委员会。直到某一天,我做了一个处理绝对路径的题目。
首先,我要把‘/'作为分隔符,把输入字符串split一下。下面是我的代码:
stringinputString("/home/fun/./../code/");
stringstreamss(inputString);
stringtmp;
while(getline(ss,tmp,'/'))
{
if(tmp.empty())continue;
bulabula;
}
神奇的是getline函数,此函数配合stringstream使用,就实现了split函数的功能。简直历害!
2格式化输入
当我们有一个字符串需要解析的时候,可以使用stringstream。
stringinputString("123abc123.4onetwothreefour");
stringstreamss(inputString);
strings;
inti;
doubled;
ss>>i>>s>>d;
cout<<i<<""<<s.c_str()<<""<<d;
while(ss>>s)
cout<<""<<s.c_str();
cout<<endl;
输出:
123abc123.4onetwothreefour
是不是很好用呢?不过要注意,当我们使用>>来格式化输入数值型变量的时候,后面是不需要跟空格的,而使用>>来格式化输入string或char*的时候,后面一定要跟空格。当然格式化输入string,我们也可以使用getline(ss,s,'')。一样的效果。
有标准库用的时候,还是要用的,事半功倍!
以上就是小编为大家带来的stringstream操纵string的方法总结全部内容了,希望大家多多支持毛票票~
热门推荐
10 生日祝福语哥哥英文简短
11 女儿出阁的祝福语简短
12 广场周年庆祝福语 简短
13 餐饮生日祝福语简短独特
14 除夕祝福语大全简短年轻
15 牛年的吉祥祝福语简短
16 狗年同事拜年祝福语简短
17 伴娘祝福语长文案简短
18 新年祝福语大全简短成语