当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-04 16:55 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
问问,c++的stirng类型数据如何写入字符数组
stirng str="weihua";
int len=str.length();
char buf[30];
memcpy(buf,&str,len);
cout<<buf<<endl;
输出的结果撒是乱码
哪出错了


页首
 用户资料  
 
2 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-04 16:58 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
memcpy(buf,&str.c_str(),len);
这么试试


页首
 用户资料  
 
3 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-05 16:57 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
lerosua,
谢谢


页首
 用户资料  
 
4 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-08 19:40 
头像

注册: 2009-03-06 19:37
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
用strcpt( ,)试试,可以的


_________________
有时候人要看的远一点,可是不能好高骛远......


页首
 用户资料  
 
5 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-08 22:58 
头像

注册: 2007-08-27 22:03
帖子: 228
地址: http://apt-blog.co.cc/
送出感谢: 0 次
接收感谢: 0 次
晕,用到对象还用memcpy原始的函数……汗

string对象不是有个c_str么,其返回的才是c格式字符串的内存地址。


页首
 用户资料  
 
6 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-08 23:12 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
楼主应该是学了c之后才学c++的吧,都这样,呵呵


页首
 用户资料  
 
7 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-11 9:33 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
pentie,
你说的我有点迷糊,你是啥意思哈
????
说具体点


页首
 用户资料  
 
8 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-11 9:40 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
c_str标准些。
BCB里面都这样用。


_________________
● 鸣学


页首
 用户资料  
 
9 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-11 9:58 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
对哈,我不知道除了,
memcpy(buff,str.c_str(),nLen);
或者
strcpy(buff,str.c_str(),nLen);
外还有没有更好的办法?


页首
 用户资料  
 
10 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-03-11 10:04 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
类而已。最好用它自己提供的方法。
非标准的方法,可以自己看类的说明,理解实际的存储结构,再取得需要的数据,可这是折腾。


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-06-02 23:43 
头像

注册: 2009-05-30 15:52
帖子: 46
地址: DL LIAONING CHN
送出感谢: 0 次
接收感谢: 0 次
strncpy(buff,str.c_str(),len)不是最好的吗?


最后由 xiaocheng_zh 编辑于 2009-06-30 22:31,总共编辑了 1 次

页首
 用户资料  
 
12 楼 
 文章标题 : Re: c++ string类型数据如何写入字符数组
帖子发表于 : 2009-06-02 23:53 
头像

注册: 2009-05-30 15:52
帖子: 46
地址: DL LIAONING CHN
送出感谢: 0 次
接收感谢: 0 次
把buf改成动态的:
char *buf = new char[len+1];
for (int i = 0;i < len;buf[i] = str[i],i++);
buf[len] = '\0';//以上相当于把一个string变成C风格的字符串
//do something
//......
delete [] buf;// ^_^别忘了释放buf哦
//......
和大家共同学习ing。。。。。。 :em02


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译