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

c – 如何使用Strtok来标记Const char *?,第1张

概述我有一个const char *变量,它可能有一个值,如“OpenStack:OpenStack1”.我想使用strtok来标记这个const char *,其中分隔符(它是一个const char *类型)是“:”.但问题是strtok是以下类型: char * strtok(char * str,const char * delimiters); 这意味着我不能使用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 – 如何使用Strtok来标记Const char *?全部内容,希望文章能够帮你解决c – 如何使用Strtok来标记Const char *?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1252998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存