c – 如何使用Strtok来标记Const char *?

前端之家收集整理的这篇文章主要介绍了c – 如何使用Strtok来标记Const char *?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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&C++相关文章