我有一个 const char* 变量,它的值可能类似于“OpenStack:OpenStack1”。我想使用 strtok 标记这个 const char* ,其中分隔符(它是 const char* 类型)是 ":"。但问题是 strtok 属于以下类型: char * strtok ( char * str, const char * delimiters );
这意味着我不能将 const char* 用于第一个输入,因为它必须是 char*。你能告诉我如何将这个 const char* 转换为 char* 吗?
谢谢。
最佳答案
由于 strtok 实际上写入您的字符串,因此您需要对其进行可写拷贝以进行标记化;
char* copy = strdup(myReadonlyString);
...tokenize copy...
free(copy);
关于c++ - 如何使用 Strtok 对 Const char* 进行标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281712/