刚开始学C++,想请教高手们一下,将CString类型字符串转换为unsigned char型字符数组,转化方式到底对不对

第一种方式:unsignedchartempdata[4];CStringm_transition;tempdata[0]=(unsignedchar)(LPCTSTR)... 第一种方式:
unsigned char tempdata[4];
CString m_transition;
tempdata[0]=(unsigned char)(LPCTSTR)m_transition;
第二种方式:
unsigned char FrameID[4]={0,0,0,0};
CString m_ListID;
char szFrameID[9];
memcpy(&szFrameID[8-m_ListID.GetLength()],(LPCTSTR)m_ListID,m_ListID.GetLength());
strtodata((unsigned char*)szFrameID, tempdata ,4,0);
strtodata是将字符串转换为数据串 strtodata(unsigned char *str, unsigned char *data,int len,int flag)
这两种方式能不能实现CString转换为 unsigned char类型??? 请大侠们指正,谢谢
展开
 我来答
a379039233
2012-08-06 · TA获得超过1495个赞
知道小有建树答主
回答量:895
采纳率:0%
帮助的人:427万
展开全部
CString类型转换为char*类型
方法1.
Char p[8];
CString str=“hello”;
memcpy(p, str, str.GetLength());
方法2:
char *p1;
p1 = str.GetBuffer(str.GetLength());
方法3:
char *p1;
p1 = (LPSTR)(LPCTSTR) str;
追问
那上面的两种方式会不会有错误??
追答
没用过,你自己调试试验下不就行了。
反正给你的三种方法都可以的。
305508676
2012-08-06 · TA获得超过649个赞
知道小有建树答主
回答量:627
采纳率:50%
帮助的人:601万
展开全部
直接使用 memcpy 或者 strcpy
strcpy(tempdata,(LPCTSTR)m_transition);
,最好使用memncpy 或者strncpy 防止越界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式