拆分包含多个字符的分隔符的字符串

时间:2014-10-05 17:16:40

标签: c split

例如,如果输入字符串是“abcbba”并且我想将字符串拆分为“bb”,我将获得两个标记“abc”和“a”。

对于那些想要建议strtok功能的人。 strtok函数仅在一个字符处分割。如果我这样说:

char my_string[] = "abcbba";
strtok(my_string, "bb");

令牌将是“a”,“c”和“a”。

1 个答案:

答案 0 :(得分:4)

您可以使用strstr()

char my_string[] = "abcbba";
const char delim[] = "bb";
char *ptr = my_string;
char *next_delim = NULL;
while((next_delim = strstr(ptr, delim)) != NULL) {
    *next_delim = '\0';
    // Token at ptr
    ptr = next_delim + sizeof(delim) - 1;
}
相关问题