实现功能
16进制数组{0xE0,0x16,0x01,0x00,0x05} 转字符串"E016010005"
#include <stdio.h>
unsigned char dbuff[5]={0xE0,0x16,0x01,0x00,0x05};
unsigned char sbuff[10];
short i;
unsigned char highByte, lowByte;
int main()
{
//16进制转字符串
for (i = 0; i < 5; i++)
{
highByte = dbuff[i] >> 4;
lowByte = dbuff[i] & 0x0f ;
highByte += 0x30;
if (highByte > 0x39)
sbuff[i * 2] = highByte + 0x07;
else
sbuff[i * 2] = highByte;
lowByte += 0x30;
if (lowByte > 0x39)
sbuff[i * 2 + 1] = lowByte + 0x07;
else
sbuff[i * 2 + 1] = lowByte;
}
sbuff[10]='\0';
printf("%s\n",sbuff);
return 0;
}
点击运行输出