gpt4 book ai didi

c - strtok函数c解释

转载 作者:行者123 更新时间:2023-11-30 21:37:13 24 4
gpt4 key购买 nike

这是 strtok 函数的示例...我需要对此 block 的解释:

while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ");
}
return 0;

特别是pch = strtok (NULL, " ");

#include <stdio.h>
#include <string.h>

int main ()
{
char str[] ="This a sample string";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ");
}
return 0;
}

最佳答案

strtok() 是标准 C 库中的函数。标准 C 库有一些开源实现。例如:下面的链接是微软的一个版本。

http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/crt/strtok.c.htm

在代码中可以清楚地看到:

/* Skip leading delimiters if new string. */
if ( s1 == NULL ) {
s1 = lastToken;
if (s1 == NULL) /* End of story? */
return NULL;
} else
.....

变量“lastToken”用于跟踪 strtok() 的状态。

这就是为什么第二个标记应该将 NULL 传递给 strtok() 的原因。

关于c - strtok函数c解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36072615/

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