有没有办法在C中的多个字符上拆分字符串?

Dan*_*iel 11 c string split

在C中是否有一种方法来分割字符串(使用strtok或任何其他方式),其中分隔符的长度超过一个字符?我正在寻找这样的东西:

char a[14] = "Hello,World!";
char *b[2];
b[0] = strtok(a, ", ");
b[1] = strtok(NULL, ", ");
Run Code Online (Sandbox Code Playgroud)

我希望这不会拆分字符串,因为逗号和W之间没有空格.有没有办法做到这一点?

Ker*_* SB 8

您可以反复调用substr以查找边界字符串的出现位置并沿结果分割.找到结果后,将指针推进子字符串的长度并再次搜索.

  • 如果你包含`<string.h>`那就是C,如果你说`std :: substr`并且包含`<cstring>`它就是C++,尽管在C++中你不会使用裸字符指针来表示字符串. (2认同)