【发布时间】:2018-01-23 09:27:50
【问题描述】:
我在其中一个库中看到了以下代码。当空字符串作为分隔符传递时,strtok 的行为是什么?我可以看到 buf 包含的任何内容,在 strtok 调用后存储到 token 变量中。
char buf[256] = {0};
char token = NULL;
...
...
while (!feof(filePtr))
{
os_memset(buf, 0, sizeof(buf));
if (!fgets(buf, 256, filePtr))
{
token = strtok(buf, "");
...
...
}
}
【问题讨论】:
-
我看不出那个特定的
strtok电话的意义。这与执行token = buf相同(如果token是指向char的指针,而不是单个char)。您找到的是实际代码吗?你在哪里找到它?也许这是错误?或者也许作者最初在字符串中有一些分隔符,但在以后的版本中删除了它们?实在是说不出原因,你得问问作者。 -
@Barmar 好的先生,现在我明白了,谢谢,让我清理一下。