vb,c#等语言都有字符串分割的split函数,用起来非常方便。c++的string类没有此类的函数,只好自己写一个。当然,也可以用c的系统函数strtok实现。关于strtok函数的使用见strstok详解。
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <iterator>
using namespace std;
void split(string in,vector<string> &vec) //以" "为分隔符
{
istringstream ss(in);
string t;
while(ss>>t)
{
vec.push_back(t);
}
}
int main()
{
string str="a b c d e f";
vector <string> v;
split(str,v);
ostream_iterator<string> out (cout, "\n");
copy (v.begin(),v.end(),out);
system("pause");
return 0;
}
这里用到了istringstream,将字符串转换成输入流。
原文链接: https://www.cnblogs.com/webtrados/archive/2010/02/26/1674592.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8402
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!