源码

c – 复制C字符串的正确方法


有没有简单的方法来复制C字符串?

我有const char * stringA,我希望char * stringB取值(注意stringB不是const).我尝试了stringB =(char *)stringA,但是这使得stringB仍然指向相同的内存位置,所以当stringA稍后更改时,stringB也会这样做.

我也尝试过strcpy(stringB,stringA),但似乎如果stringB没有初始化为足够大的数组,那么就会出现段错误.我对C字符串没有超级经验,我错过了一些明显的东西吗?如果我只是将stringB初始化为char * stringB [23],因为我知道我永远不会有超过22个字符的字符串(并且允许空终止符),这是正确的方法吗?如果检查stringB是否与其他C字符串相等,那么额外的空间会影响到什么吗?

(并且在这里使用字符串不是解决方案,因为我需要最小的开销并且可以轻松访问单个字符)

(1)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/c-fuzhiczifuchuandezhengquefangfa.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 26, 2019 at 05:47 下午

热评文章