strtok_s()为什么需要指针的地址

strtok_s() Why do we need address of a pointer?

本文关键字:指针 地址 为什么 strtok      更新时间:2023-10-16

15年后我又回到了c++…我只是想不起来为什么我们需要指针的地址。就像下面这个语句:

char *next_token = NULL;
char *pszMozilla = strtok_s(szCopyVariable, "/", &next_token);

是否假设指针的地址将最终代表指针列表的起点?

strtok_s是一个可重入函数,它需要在某处存储一些状态。该状态是一个指针,指向它处理的最后一个字符之后的一个字符。(考虑一下,这确实是您恢复标记化所需要的全部。)

如果一个函数想要在用户提供的空间中存储一个X,用户需要提供一个指向X的指针,该指针指向X的位置。在本例中,X是"指向char的指针"。

这是因为strtok_s()通过每次调用next_token来保持状态