首页 > 代码库 > C++ String 转 char*
C++ String 转 char*
最近一直用惯了C#,陡然间改回C++都有些不习惯了!吐槽一下,C#太方便了!!!
言归正传,C++里有些时候会用到String转char*这个功能,于是进来搜到了一些方法:
如果你申请了这样一个字符串:string str = "This is a test!",那么:
1、str.data()可以返回该字符串对应的char *,如char *p = str.data();
2、str.c_str()也可以返回该字符串对应的char *,如char *p = str.data();
3、其实还可以使用str.copy()这个方法,如char p[40]; str.copy(p,n,m); 其中n是str的长度,m意味着从p数组的第m个索引开始存储,所以str.copy(p,15,0);就是将整个str字符串存储到p数组里,且是从p[0]开始存储。值得注意的是,str.copy()这个方法要自己手动给字符串数组末尾添加"\0"!,所以最后应该加上p[15]=‘\0‘;,这样就结束了。
str.copy()具体的资料可以看这里:http://www.cplusplus.com/reference/string/string/copy/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。