MFC中出现初始化常量被截断,如何解决?

if(!m_mscomm.get_PortOpen())return;charch_Locked[22]={0x24,0x4d,0x3c,0x10,0xc8,0xde,0... if(!m_mscomm.get_PortOpen()) return;
char ch_Locked[22]={0x24,0x4d,0x3c,0x10,0xc8,0xde,0x05,0xde,0x05,0x6c,0x07,0xe8,0x03,0xde,0x05,0xde,0x05,0xde,0x05,0xde,0x05,0x58};
m_mscomm.put_Output(COleVariant(ch_Locked));


这是一个控件响应函数,想把ch_Locked中的字符以16进制发送出去,但调试总有警告C4309:截断常量值。应该是数据转换出问题了,哪位大神能帮我解决下,小弟菜鸟一个,不胜感激!
展开
 我来答
百度网友96ffcf7
2015-04-07 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118725
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
第一个:
数字默认是int型的,int的表示范围比char大,所以警告说,从int到char可能会截断

第二个和第三个,其实都是正确的
第二个是ascii码 3,那样表示是8进制的表示方式
第三个是8进制的14,因为他们对应的ascii码,没有具体的字符,或者字符是我们不熟悉的,不过是正确的
追问
这个我也看到过,具体怎么修改呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式