可能重复:
在C中拆分带分隔符的字符串
我正在寻找一种使用分隔符将char * “爆炸”成其他char *的好方法。
我的分隔符将是#
你可以使用像CrazyCasta这样的strtok
但他/她的代码是错误的。
char *tok; char *src = malloc(strlen(srcStr) + 1); memcpy(src, srcStr); tok = strtok(src, "#"); if(tok == NULL) { printf("no tokens found"); free(src); return ???; } printf("%s ; ", tok); while((tok = strtok(NULL, "#"))) printf("%s ; ", tok); printf("n"); free(str);
请注意,必须首次使用源指针调用strtok
,之后必须使用NULL
。 src
必须是可写的,因为strtok
写