void BCDCodeToDecimalString(unsigned char x[],int len,char* y)
{for(int i(0);i<len;i++)
{
if(x[i]>=0x00&&x[i]<=0x0F)
{
y[i*2] = '0';
sprintf((y+i*2+1),"%x",x[i]);
}
else
{
sprintf((y+i*2),"%x",x[i]);
}
}
}
结果 “01345678”
unsigned char x[] = {0x01,0x34,0x56,0x78};
char y[9];
BCDToDecimalString(x,4,y);
printf("%s\n",y);