char[] 中间有个0 ,任何转换到string char arr[]={34,24,63,5,5,0,53,42,42,424};string str=arr;arr 中间有个0,被截断了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 memcpy(str,arr,10);知道截断了还拷,牛B啊你拷过去了又有啥用?????还不是截断的.你到底想干啥,编程呢还是逗乐 string 中是不能有 0 的 string是字符串,意味着遇到'\0'(ascii码值为0)就会结束。所以如果想处理这种数据,只有使用内存拷贝。最好是用一个数组来保存,但是要记录有效的有多少。 char arr[]={34,24,63,5,5,0,53,42,42,424};你这个是字符串数组??里面还有424这个元素?都超过char的范围了 对string没这么搞过.但其实CString 内部是不管是否有0的..所以你可以用CString.char arr[]={34,24,63,5,5,0,53,42,42,424};int len = 长度你自己算啊..晕了;CString str;memcpy(str.GetBuffer(len),arr,len);str.ReleaseBuffer();OK了.但你要用的时候,也得重新复制出来,哈哈. LZ是要把字符数组放到string中去,这和楼主的观点不符啊typedef basic_string<char> string;这是STL中的一个类,存放字符串用,中间是不能带'\0'的,所以LZ的问题在实际中不会出现! 求高手帮我写个DEMO 360安全卫士的界面是用MFC做的吗?有几个问题请教下哦 关于界面的 请问谁知道OpenGL 1.4或者1.5版本的SDK在哪下? 奇怪的枚举类型使用。。。。。 关于VC中文字竖排的问题,请大家帮忙。 关于修改CFileDialog对话框默认目录的问题 一个简单的问题。在线等。 高手请进(马上送分) 怎样得到控件的位置? 一个简单的问题?在vc中的<stdafx.h>头文件是干什么 的? 如何得到hid设备的report id domodal 函数
知道截断了还拷,牛B啊你
拷过去了又有啥用?????还不是截断的.
你到底想干啥,编程呢还是逗乐
你这个是字符串数组??里面还有424这个元素?都超过char的范围了
其实CString 内部是不管是否有0的..
所以你可以用CString.char arr[]={34,24,63,5,5,0,53,42,42,424};
int len = 长度你自己算啊..晕了;
CString str;
memcpy(str.GetBuffer(len),arr,len);str.ReleaseBuffer();
OK了.但你要用的时候,也得重新复制出来,哈哈.
typedef basic_string<char> string;
这是STL中的一个类,存放字符串用,中间是不能带'\0'的,所以LZ的问题在实际中不会出现!