在很多场合中,都会用到字符串分割函数。在java,vb语言中,有自带 的string.split()函数,在c/c++没有现成的分割函数。
(1)利用strtok()函数实现字符串分割
<pre name="code" class="cpp">#define Max 100
using namespace std;
void strtok_split(string str,string s,string res[]);
int main()
{
string s="as,12,er,weeee,qwe";
string ss[Max]={""};
string* res=ss;
strtok_split(s,",",ss);
while(*res!="")
{
cout<<*res<<endl;
res++;
}
system("pause");
return 0;
}
void strtok_split(string str,string s,string res[])
{
char *stemp;
int num=0;
stemp=strtok((char*)str.c_str(),s.c_str());
while(stemp)
{
string ss(stemp);
res[num++]=ss;
stemp=strtok(NULL,s.c_str());
}
}
(2)利用string.find()和string.substr()函数实现字符串分割