gpt4 book ai didi

c - 为什么我们在 strtok() 中使用 NULL?

转载 作者:太空狗 更新时间:2023-10-29 15:47:37 25 4
gpt4 key购买 nike

为什么我们在 strok() 函数中使用 NULL

while (h != NULL)
{
h = strtok(NULL, delim);
if (hold != NULL)
printf("%s", hold);
}

*h 指向一个字符串时,这个程序做了什么?

最佳答案

strtok 是 C 库的一部分,它的作用是将 C 空分隔字符串拆分为由您指定的任何分隔符分隔的标记。

对 strtok 的第一次调用必须将 C 字符串传递给 tokenize,后续调用必须将 NULL 指定为第一个参数,它告诉函数继续对您首先传入的字符串进行标记化。

函数的返回值返回一个 C 字符串,它是当前检索到的标记。所以第一次调用 --> 第一个标记,第二次调用(指定 NULL)--> 第二个标记,依此类推。

当没有标记要检索时,strtok 返回 NULL,这意味着该字符串已被完全标记化。

这是引用资料,并附有示例:http://www.cplusplus.com/reference/cstring/strtok/

关于c - 为什么我们在 strtok() 中使用 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23456374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com