#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
int main(int args,char **argv){
char data[]="/hello:a=2,b=4,c=5";
char delim[]=":";
char* saveptr=nullptr;
char* sub=strtok_r(data,delim,&saveptr);
printf("sub:%s \n",sub);
char delim2[]=",";
char* sub2;
while(sub2=strtok_r(saveptr,delim2,&saveptr))
{
char delim3[]="=";
char* saveptr2=nullptr;
char *key = strtok_r(sub2,delim3,&saveptr2);
char* value=saveptr2;
printf("key:%s,val:%s \n",key,value);
}
return 0;
}
g++ testStrtok.cpp -o testStrtok
执行 ./testStrtok
输出