我有一个const char*变量,它可能有一个像"OpenStack:OpenStack1"的值.我想用strtok标记这个const char*,其中分隔符(它是一个const char*类型)是":".但问题是strtok是以下类型:char*strtok(char*str,const char*delimiters);
这意味着我不能使用const char*作为第一个输入,因为它必须是char*.你能告诉我如何将这个const char*转换为char*吗?
谢谢.
Joa*_*son 19
由于strtok实际上写入了你的字符串,你需要制作一个可写的副本来标记化;
char* copy = strdup(myReadonlyString);
...tokenize copy...
free(copy);
Run Code Online (Sandbox Code Playgroud)