读一块连续的文本字符串,由逗号或其它字符分隔成新的字符串,相当简单的函数及调用。
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
void split(const string& s,char ch,vector<string>& v)
{
//以指定字符分隔文本产生新的字符串
int i=0;
int j=s.find(ch);
while(j >= 0)
{
v.push_back(s.substr(i,j-i));
i = ++j;
j = s.find(ch,j);
if(j < 0)
v.push_back(s.substr(i,s.length()));
}
}
//调用
int main()
{
vector<string> vs;
string ss="abcd,student,market,hero";
split(ss,',',vs);//以逗号为分隔符
for(vector<string>::iterator p=vs.begin(); p != vs.end(); ++p)
{
cout<<"after split:"<<*p<<endl;
}
return 0;
}