c++ string类型数据如何写入字符数组
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
c++ string类型数据如何写入字符数组
问问,c++的stirng类型数据如何写入字符数组
stirng str="weihua";
int len=str.length();
char buf[30];
memcpy(buf,&str,len);
cout<<buf<<endl;
输出的结果撒是乱码
哪出错了
stirng str="weihua";
int len=str.length();
char buf[30];
memcpy(buf,&str,len);
cout<<buf<<endl;
输出的结果撒是乱码
哪出错了
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: c++ string类型数据如何写入字符数组
memcpy(buf,&str.c_str(),len);
这么试试
这么试试
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
Re: c++ string类型数据如何写入字符数组
lerosua,
谢谢
谢谢
- 我才是小米
- 帖子: 21
- 注册时间: 2009-03-06 19:37
- pentie
- 帖子: 228
- 注册时间: 2007-08-27 22:03
- 来自: http://apt-blog.co.cc/
Re: c++ string类型数据如何写入字符数组
晕,用到对象还用memcpy原始的函数……汗
string对象不是有个c_str么,其返回的才是c格式字符串的内存地址。
string对象不是有个c_str么,其返回的才是c格式字符串的内存地址。
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: c++ string类型数据如何写入字符数组
楼主应该是学了c之后才学c++的吧,都这样,呵呵
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
Re: c++ string类型数据如何写入字符数组
pentie,
你说的我有点迷糊,你是啥意思哈
????
说具体点
你说的我有点迷糊,你是啥意思哈
????
说具体点
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 448
- 注册时间: 2008-07-10 15:08
Re: c++ string类型数据如何写入字符数组
对哈,我不知道除了,
memcpy(buff,str.c_str(),nLen);
或者
strcpy(buff,str.c_str(),nLen);
外还有没有更好的办法?
memcpy(buff,str.c_str(),nLen);
或者
strcpy(buff,str.c_str(),nLen);
外还有没有更好的办法?
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- xiaocheng_zh
- 帖子: 46
- 注册时间: 2009-05-30 15:52
- 来自: DL LIAONING CHN
Re: c++ string类型数据如何写入字符数组
strncpy(buff,str.c_str(),len)不是最好的吗?
上次由 xiaocheng_zh 在 2009-06-30 22:31,总共编辑 1 次。
- xiaocheng_zh
- 帖子: 46
- 注册时间: 2009-05-30 15:52
- 来自: DL LIAONING CHN
Re: c++ string类型数据如何写入字符数组
把buf改成动态的:
char *buf = new char[len+1];
for (int i = 0;i < len;buf = str,i++);
buf[len] = '\0';//以上相当于把一个string变成C风格的字符串
//do something
//......
delete [] buf;// ^_^别忘了释放buf哦
//......
和大家共同学习ing。。。。。。
char *buf = new char[len+1];
for (int i = 0;i < len;buf = str,i++);
buf[len] = '\0';//以上相当于把一个string变成C风格的字符串
//do something
//......
delete [] buf;// ^_^别忘了释放buf哦
//......
和大家共同学习ing。。。。。。