VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 711|回复: 9

字符串转十六进制问题!

[复制链接]
38_avatar_middle
最佳答案
0 
online_vip 发表于 2017-9-29 13:35:29 | 显示全部楼层 |阅读模式
本帖最后由 2191265529 于 2017-10-24 14:14 编辑

cbuf[ii++] = high << 4 | low;

这一句始终赋值不进去,定义:unsigned char *cbuf;

坐等大牛!
problem.png




上一篇:求助vs 连接操作 mysql 数据库 教程
下一篇:SDL 播放接口,调用报错,附源码,有兴趣的看看
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-29 13:40:10 | 显示全部楼层
或者说在监视窗口中输入这个变量:cbuf,100
后面的逗号和100别丢了,这样也应该能看到
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-29 13:39:37 | 显示全部楼层
你用监视的窗口这么看可能看不到值,但实际应该已经赋值进去了
把 这个 0x0038fc1c 地址放到 内存窗口中就能看到值了
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-29 13:59:54 | 显示全部楼层
Syc 发表于 2017-9-29 13:40
或者说在监视窗口中输入这个变量:cbuf,100
后面的逗号和100别丢了,这样也应该能看到

老大好厉害,void main(){
        char *source = "FB5B";
        unsigned char dest[16] = {0};
        str_to_hex(source, dest, strlen(source));

        cout << dest;
        system("pause");
}

我这样用,输出咋就乱码了呢?
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-29 14:21:35 | 显示全部楼层
2191265529 发表于 2017-9-29 13:59
老大好厉害,void main(){
        char *source = "FB5B";
        unsigned char dest[16] = {0};

你都转到16进制了,所以就是不可显示的字符了,当然就乱码了
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-29 14:25:11 | 显示全部楼层
Syc 发表于 2017-9-29 14:21
你都转到16进制了,所以就是不可显示的字符了,当然就乱码了

char 数组不能用cout吗,咋就异常了
2.png
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-29 14:33:40 | 显示全部楼层
用printf也是在main结束的大括号异常,不知道啥子原因
51_avatar_middle
最佳答案
8 
online_admins 发表于 2017-9-29 14:34:05 | 显示全部楼层
2191265529 发表于 2017-9-29 14:25
char 数组不能用cout吗,咋就异常了


cout 是输出字符串,如果你的 char 数组里面存的不是可显示的字符就打印乱码了
另外,数组里面有结束符吗?
38_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2017-9-29 14:36:45 | 显示全部楼层
Syc 发表于 2017-9-29 14:34
cout 是输出字符串,如果你的 char 数组里面存的不是可显示的字符就打印乱码了
另外,数组里面有结束 ...

对哦,没写结束字符,终于搞定了,哈哈,谢谢老大了字符串转十六进制问题!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-18 18:22

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表