已经定义了BYTE temp[4];数据为10 32 54 76
现在我想把它经过变换以后赋给一字符串为1234567(没有0),怎么实现!

解决方案 »

  1.   

    BYTE temp[4] = {0x10,0x32,0x54,0x76};
    char buf[100] = "";
    for(int i = 0; i<4; i++)
    {
    BYTE a = temp[i];
    int a1 = a & 0xF;
    int a2 = a >> 4;
    sprintf(buf,"%s%x%x",buf,a1,a2);
    }
    printf(buf);
      

  2.   

    如果temp中的数据是十进制的,那就写个函数据它变成十六进制
      

  3.   

    BYTE a = (float)temp[i]/10 * 16;把十进制数转化成十六进制数,
      

  4.   

    char str[32];
    memset(str, 0, 32);
    for(i=0; i<4; i++)
    {
        sprintf(str, "%s%d", str, temp[i];
    }