C++ string 转 char[] 字节长度问题

string转char[],如何保证char[]有足够长度stringaa="AAAAAAAAA";charbb[8];strcpy(bb,aa.c_str());如何保... string 转 char[] ,
如何保证char[] 有足够长度
string aa="AAAAAAAAA";
char bb[8];

strcpy(bb,aa.c_str());
如何保证 这里的bb 长度 大于 strlen(aa)
int length=strlen(aa);

char bb[length] 是错误的?该怎么做
展开
 我来答
lhf118
2013-07-31 · TA获得超过1611个赞
知道小有建树答主
回答量:633
采纳率:100%
帮助的人:514万
展开全部
int len=aa.length();
char* bb=new char[len+1];
strcpy_s(bb,len+1,aa.c_str());
......
用完后
delete [] bb;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月夜慕雪寒
2013-07-30 · 超过26用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:42.4万
展开全部
变长的数组应该这样定义:
int length=strlen(aa);
char *bb;
bb=new char[length];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hiei1234
2013-07-30 · TA获得超过157个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:130万
展开全部
std::string str = "you string";
char* c_str = new char[str.length() + 1]; //注意+1 还有个'\0' 啊
memset(c_str, 0, str.length() + 1);
memcpy(c_str, &str[0], str.length());
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式