strtok_s如何标记char *?

时间:2010-11-27 02:47:24

标签: c

它似乎修改了我想拆分指定标记的原始字符串。

如果无法从内存中复制,它如何返回子字符串?

我也在寻找一种接受const char*或不修改orignal字符串的替代品。

或者只是const_cast字符串删除const属性并由strtok_s(char*, const char*, char**)处理它是否安全。?

2 个答案:

答案 0 :(得分:4)

strtok_s执行修改传入的字符串,所以不,你不能传递const_cast d常量字符串。它的作用是如果它找到一个分隔符,它用一个NUL终结符替换该分隔符,将该字符串分成两部分。然后它返回一个指向第一部分的指针,该部分现在是所需的以空值终止的标记。

答案 1 :(得分:0)

如果您不想修改原始字符串,可以先将其复制,然后再strtok_s