它似乎修改了我想拆分指定标记的原始字符串。
如果无法从内存中复制,它如何返回子字符串?
我也在寻找一种接受const char*
或不修改orignal字符串的替代品。
或者只是const_cast
字符串删除const属性并由strtok_s(char*, const char*, char**)
处理它是否安全。?
答案 0 :(得分:4)
strtok_s
等执行修改传入的字符串,所以不,你不能传递const_cast
d常量字符串。它的作用是如果它找到一个分隔符,它用一个NUL终结符替换该分隔符,将该字符串分成两部分。然后它返回一个指向第一部分的指针,该部分现在是所需的以空值终止的标记。
答案 1 :(得分:0)
如果您不想修改原始字符串,可以先将其复制,然后再strtok_s
。