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/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值