C 语言 strtok() 函数用于按分隔符把字符串拆分成多个子串。它是有状态的函数,第一次传字符串,之后传 NULL 继续取下一段。
原型
char *strtok(char *str, const char *delim);参数
str- 要拆分的字符串(首次调用);后续调用传 NULL;delim- 分隔符集合。
返回值
返回拆分出的下一个子串;没有更多子串时返回 NULL。
示例
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "apple,banana,cherry";
char *token = strtok(str, ",");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, ",");
}
return 0;
}输出:
apple
banana
cherry注意事项
strtok 会修改原字符串(用 \0 替换分隔符),且内部使用静态缓冲区,多线程场景下不安全(可用 strtok_r)。