【发布时间】:2014-04-08 06:23:12
【问题描述】:
C 中的strtok 和strtok_r 有什么区别,我们应该什么时候使用哪个?
【问题讨论】:
-
一个是可重入的,另一个不是。我认为手册说明了这一点。
-
不是标准 C,它是 Posix。 Strtok() 是一个错误工厂,它使用 CRT 内部的全局变量来跟踪字符串位置。所以你不能同时在多个字符串上使用它。线程也有风险,大多数 CRT 确实解决了这个问题。
-
为了更迷惑你,C11 加了
strtok_s。