strtok(NULL, "\n") 是做什么的?
what does strtok(NULL, "\n") do?
The C library function char *strtok(char *str, const char *delim) breaks string str into a series of tokens using the delimiter delim.
当你输入 s = strtok(NULL, "\n")
时会发生什么?用 \n
拆分 null 是什么意思?
不是NULL被\n
分割的意思。
如果您传递一个非 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"
The C library function char *strtok(char *str, const char *delim) breaks string str into a series of tokens using the delimiter delim.
当你输入 s = strtok(NULL, "\n")
时会发生什么?用 \n
拆分 null 是什么意思?
不是NULL被\n
分割的意思。
如果您传递一个非 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"