社区
C++ 语言
帖子详情
请问,unsigned char数组怎么转化为CString?
grandi23
2011-08-24 08:43:35
如果定义了一个
unsigned char a[20]={0x40,0xa0,0x32};
怎么将其转换为CString字符串呢?
或者说如果0x40是一个字节,我怎么取出使得0x40为“40”这样两个字节的字符串?求大侠指点
...全文
1170
24
打赏
收藏
请问,unsigned char数组怎么转化为CString?
如果定义了一个 unsigned char a[20]={0x40,0xa0,0x32}; 怎么将其转换为CString字符串呢? 或者说如果0x40是一个字节,我怎么取出使得0x40为“40”这样两个字节的字符串?求大侠指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
grandi23
2011-08-25
打赏
举报
回复
好的,多谢耐心指点,谢谢了,向你学习了
赵4老师
2011-08-25
打赏
举报
回复
字符串那些事儿:BSTR-LPSTR-LPWSTR-CString-VARIANT-COleVariant-_variant_t-CComBSTR-_bstr_t
http://blog.csdn.net/pizi0475/archive/2010/03/04/5346708.aspx
starfox789
2011-08-24
打赏
举报
回复
如果效率要求不高, CString的FORMAT最简单 。
CString CharToCString(unsigned char* strarray)
{
CString strtemp,strout;
for( ;*strarray!='\0';strarray++)
{
strtemp.Format("%x",*strarray);
strout+=strtemp;
}
return strout;
}
jackyjkchen
2011-08-24
打赏
举报
回复
unsigned char a[20]={0x40,0xa0,0x32};
unsigned char b[20]={0};
unsigned long outlen = 20;
byte2hex(a, 3, b, &outlen);
CString str = b;
grandi23
2011-08-24
打赏
举报
回复
[Quote=引用 18 楼 jackyjkchen 的回复:]
引用 15 楼 grandi23 的回复:
怎么输入input是一个unsigned char的数组,输出依然是一个unsigned char型数组呢?能帮我具体写下吗?我还是有些不明,谢谢了,我想把unsigned char a[20]={0x40,0xa0,0x32};变成40A032这样的字符串
你输出的字符串已经是C风格字符串了,可以直接强转成char*
前提是你分配的……
[/Quote]不明百啊,具体写下
starfox789
2011-08-24
打赏
举报
回复
你这成了输出对应值得ASCII码了,应该会出一堆乱码吧[Quote=引用 12 楼 abccode 的回复:]
unsigned char a[20]={0x40,0xa0,0x32};
CString ts;
a[3]=0;
ts.Format("%s",a);
应该 ok 了。
[/Quote]
jackyjkchen
2011-08-24
打赏
举报
回复
[Quote=引用 15 楼 grandi23 的回复:]
怎么输入input是一个unsigned char的数组,输出依然是一个unsigned char型数组呢?能帮我具体写下吗?我还是有些不明,谢谢了,我想把unsigned char a[20]={0x40,0xa0,0x32};变成40A032这样的字符串
[/Quote]
你输出的字符串已经是C风格字符串了,可以直接强转成char*
前提是你分配的空间足够,最后的\0是要你自己家的,我函数里没提供
grandi23
2011-08-24
打赏
举报
回复
[Quote=引用 12 楼 abccode 的回复:]
unsigned char a[20]={0x40,0xa0,0x32};
CString ts;
a[3]=0;
ts.Format("%s",a);
MessageBox(ts);
应该 ok 了。
[/Quote]之前用过这种方法,但是溢出了,程序崩溃,不知道咋回事?
grandi23
2011-08-24
打赏
举报
回复
我是VC6
grandi23
2011-08-24
打赏
举报
回复
怎么输入input是一个unsigned char的数组,输出依然是一个unsigned char型数组呢?能帮我具体写下吗?我还是有些不明,谢谢了,我想把unsigned char a[20]={0x40,0xa0,0x32};变成40A032这样的字符串
luciferisnotsatan
2011-08-24
打赏
举报
回复
[Quote=引用 8 楼 lonworks 的回复:]
cstring里面是不是有一个format方法啊?
lz可以看看具体用法。
[/Quote]
++
jackyjkchen
2011-08-24
打赏
举报
回复
[Quote=引用 12 楼 abccode 的回复:]
unsigned char a[20]={0x40,0xa0,0x32};
CString ts;
a[3]=0;
ts.Format("%s",a);
应该 ok 了。
[/Quote]
楼主是想转ascii码,而且您这个仅能用于vc6
abccode
2011-08-24
打赏
举报
回复
unsigned char a[20]={0x40,0xa0,0x32};
CString ts;
a[3]=0;
ts.Format("%s",a);
应该 ok 了。
jackyjkchen
2011-08-24
打赏
举报
回复
[Quote=引用 9 楼 grandi23 的回复:]
unsigned char *output, unsigned long *outlen传什么值进去啊?比如我这个问题里,能帮我指出来下吗
[/Quote]
output分配一个大于6的数组,并且全部清零
outlen是数组的大小
jackyjkchen
2011-08-24
打赏
举报
回复
[Quote=引用 8 楼 lonworks 的回复:]
cstring里面是不是有一个format方法啊?
lz可以看看具体用法。
[/Quote]
效率比sprintf还低
grandi23
2011-08-24
打赏
举报
回复
unsigned char *output, unsigned long *outlen传什么值进去啊?比如我这个问题里,能帮我指出来下吗
LONWORKS
2011-08-24
打赏
举报
回复
cstring里面是不是有一个format方法啊?
lz可以看看具体用法。
grandi23
2011-08-24
打赏
举报
回复
谢谢耐心的指导!我试试,谢谢了。
jackyjkchen
2011-08-24
打赏
举报
回复
[Quote=引用 5 楼 grandi23 的回复:]
这个函数里的num
*p++ = num[input[i] >> 4];
*p++ = num[input[i] & 0x0F];
num没有定义啊,定义的是什么类型的数组啊
[/Quote]
我的错
static const char *num = "0123456789ABCDEF";
局部全局都可以
grandi23
2011-08-24
打赏
举报
回复
这个函数里的num
*p++ = num[input[i] >> 4];
*p++ = num[input[i] & 0x0F];
num没有定义啊,定义的是什么类型的数组啊
加载更多回复(4)
如何把
char
str,或
unsigned
char
str转换成C
String
如何把
char
str,或
unsigned
char
str转换成C
String
MFC 数值转换 C
String
>> HEX>>DEC>> C
String
在MFC通信模块中经常会遇到数据类型的转换,比如会收到下位机的数据(如:10 20 30 40 64 DD ),需要在Dailog中显示'0x64'为'100 Dec',那必须先从C
String
>> HEX>>DEC>> C
String
实行代码如下: C
String
readData;
char
read
Char
='64'; readData.Format("X ",read
Char
); // 0D>>0x64, str>>hex C
String
strDec, strHex; strHex = readData; DWORD dwHex = strtoul(strHex, NULL, 16); strDec.Format(_T("%ld"), dwHex); MessageBox (strDec); //0X64>>100, hex >> dec >>str 其他相关转换 如:
char
to C
String
, C
String
to int/long/double 见附件
(UNICODE 与非UNICODE导致的问题)C
String
,T
CHAR
和
CHAR
类型的互转.docx
(UNICODE 与非UNICODE导致的问题),C
String
,T
CHAR
和
CHAR
类型的互转.docx 没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对T
CHAR
和
char
进行转换。
C
String
按位异或
C
String
按位异或 C
String
按位异或 C
String
按位异或
C++ 通信常用转换函数汇总
C++常用转换函数,做项目中总结的,有需要的可以直接拿走用。包括CRC16的计算、校验、HEX文件到BIN文件的转换、C
String
转
Char
、字符转16进制等。
C++ 语言
65,179
社区成员
250,527
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章