刚开始学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类型??? 请大侠们指正,谢谢 展开
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类型??? 请大侠们指正,谢谢 展开
2个回答
展开全部
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;
方法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;
追问
那上面的两种方式会不会有错误??
追答
没用过,你自己调试试验下不就行了。
反正给你的三种方法都可以的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询