VC7中的strtok_s等价物是什么?

时间:2008-11-21 00:10:05

标签: c++ visual-c++

strtok_s函数存在于vc8中但不存在于vc7中。那么什么是在vc7中与strtok_s等效的函数(或代码)?

1 个答案:

答案 0 :(得分:3)

看看this MSDN page

据我所知,安全性增强a)通过使用“context”参数使得strtok()可重入(和线程安全)并且b)使用NULL指针使其安全。 (在我链接的页面上的表格中列出了NULL参数的实际行为。)

对于VC7替代方案,您必须自己编写(或导入)一个。 NULL安全很容易在外部进行,你只需要注意不要传递NULL字符串,而不是预期的;但就重入而言,strtok()无法处理它。

查看thisthis问题。我相信POSIX还提供了一个名为strtok_r()的strtok()的可重入版本;你可以搜索它。自己编写实现也是一个很好(和简短)的练习。不应该超过~10行代码。