看看this MSDN page。
据我所知,安全性增强a)通过使用“context”参数使得strtok()可重入(和线程安全)并且b)使用NULL指针使其安全。 (在我链接的页面上的表格中列出了NULL参数的实际行为。)
对于VC7替代方案,您必须自己编写(或导入)一个。 NULL安全很容易在外部进行,你只需要注意不要传递NULL字符串,而不是预期的;但就重入而言,strtok()无法处理它。
查看this和this问题。我相信POSIX还提供了一个名为strtok_r()的strtok()的可重入版本;你可以搜索它。自己编写实现也是一个很好(和简短)的练习。不应该超过~10行代码。