我认为是第一次调用strtok失败了。我写C已经有一段时间了,但现在有些不知所措。非常感谢。
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv) {
char *str = "one|two|three";
char *tok = strtok(str, "|");
while (tok != NULL) {
printf("%s\n", tok);
tok = strtok(NULL, "|");
}
return 0;
}
strsep
在功能上等同于strtok
,但具有更好的调用约定。它是一个非标准的 BSD 特性,但除了 Windows 之外,每个人都有它,而 C99 发明了strtok_r
而没有采用它,这真是遗憾。 - zwol