我有一根这样的绳子:

char *message = "12#34#56#78#90"

我想得到:
a = "12"
b = "34"
c = "56"
d = "78"
d = "90"

谁能给我一个好方法?

最佳答案

使用strtok()。请注意,即使是C++文档,该函数也存在于C.中,特别注意在后续调用中使用cc来获取下一个令牌。

char label = 'a';
char *token = strtok(message, "#");
while (token != NULL) {
  printf("%c = \"%s\"\n", label++, token);
  token = strtok(NULL, "#");
}

输出:
a = "12"
b = "34"
c = "56"
d = "78"
e = "90"

http://ideone.com/xk1uO

关于c - 在C中的#处分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4545621/

10-12 21:51