加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:05:43 所属栏目:百科 来源:网络整理
导读:我有一个const char *变量,它可能有一个值,如“OpenStack:OpenStack1”.我想使用strtok来标记这个const char *,其中分隔符(它是一个const char *类型)是“:”.但问题是strtok是以下类型: char * strtok(char * str,const char * delimiters); 这意味着我
我有一个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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读