Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
15 年后我又回到了 C++ ......我只是不记得为什么我们需要指针的地址。就像在这个声明中一样:
char *next_token = NULL; char *pszMozilla = strtok_s(szCopyVariable, "/", &next_token);
是否假设指针的地址最终将代表指针列表的开始?
strtok_s是一个可重入函数,它需要在某处存储一些状态。该状态是指向它处理的最后一个字符之后的字符的指针。(想想看,这就是恢复标记化所需的全部内容。)
strtok_s
如果一个函数想在用户提供的空间中存储一个 X,用户需要提供一个指向 X 的指针,指向 X 将去的地方。在我们的例子中,X 是一个“指向 char 的指针”。
那是因为每次调用它时都会strtok_s()通过移动来保持状态。next_token
strtok_s()
next_token