C库函数char * strtok(char * str,const char * delim)使用定界符delim将字符串str分成一系列标记。
放置s = strtok(NULL, "\n")
会发生什么?用\n
分割null是什么意思?
答案 0 :(得分:1)
这并不意味着用\n
分割NULL。
如果传递非NULL值,则要求它开始标记传递的字符串。
如果传递NULL值,则要求继续像以前一样标记相同的字符串(通常在循环中使用)。
示例:
int main(void)
{
char *token, string[] = "a string, of,; ;;;,tokens";
token = strtok(string, ", ;");
do
{
printf("token: \"%s\"\n", token);
}
while (token = strtok(NULL, ", ;"));
}
结果:
token: "a"
token: "string"
token: "of"
token: "tokens"