15年后我回到了C ++ ......我无法记住为什么我们需要指针的地址。就像在这句话中一样:
char *next_token = NULL;
char *pszMozilla = strtok_s(szCopyVariable, "/", &next_token);
是否假设指针的地址最终将表示指针列表的开头?
答案 0 :(得分:9)
strtok_s
是一个可重入的函数,它需要在某处存储某个状态。该状态是指向处理完最后一个字符的字符的指针。 (想一想,这就是恢复令牌化所需的全部内容。)
如果函数想要在用户提供的空间中存储X,则用户需要提供指向X的指针,指向X将到达的位置。在我们的例子中,X是“指向char的指针”。
答案 1 :(得分:1)
多数民众赞成因为strtok_s()
通过在每次调用时移动next_token
来维持状态。