#include<stdio.h>
#include <string.h>
using namespace std;
int main()
{
char str[200]="adsfd sdf|sdfsd,efdwsf#wwerr";
char *split=" |#,";
char *res=NULL;
res=strtok(str,split);
while(res)
{
printf("%s\n",res);
res=strtok(NULL,split);
}
}
ps:strtok函数在提取字符串时使用了静态缓冲区,因此,它是线程不安全的。如果要顾及到线程的安全性,应该使用strtok_r。注意strtok_r是linux平台下提供的strtok安全版本,如果需要在windows下使用,可以网上搜索其实现源码使用。