当前位置:C++技术网 > 资讯 > 数据转换问题 如何将Char 数组放入到BYTE 数组中

数据转换问题 如何将Char 数组放入到BYTE 数组中

更新时间:2016-09-29 19:37:43浏览次数:1+次

在list 列表中取出数据 为CString,先要把他转为 16进制0Xxx,然后通过串口发送出去,现在定义了BYTE buf[20];

思路是将 CString ,转为 int , 将int 转为16进制表达,但是 不知道如果将 char* 放入BYTE buf 数组里面了,强制转化后内存中并没有数据?


C++技术网解答:

    串口发送的数据是二进制的,是没有十六进制十进制的。如果使用char数组来存放,和字符没有任何关系。我们直接将char数组当做BYTE数组使用的。

    你用CString存储的应该是十进制的数字,你只要将数字转换为数字,存入BYTE数组即可。你在软件界面看到的十六进制只是软件让你好识别,在发送数据的时候,并不需要你转成十六进制,而是始终都是二进制。

    所以,此时你已经绕了。所以,图中代码倒数第二是不需要的,直接将得到的nstr1赋值给BYTE数组对应的元素即可。