碰到一个字符串格式化的问题,用itoa(temp[6 + i] & 0x000000ff, &szDeviceId[i], 16)的时候,碰到0开头的数据,放过去0会没了,比如说数据是0f,放过去只有f,如果后续有数据过来,那数据会变成:f.124df5312;多出了一点造成后续读取出错
改成:sprintf(&szDeviceId[i], "%02x", temp[6 + i]);即可兼容0开头数据,读取也正常
碰到一个字符串格式化的问题,用itoa(temp[6 + i] & 0x000000ff, &szDeviceId[i], 16)的时候,碰到0开头的数据,放过去0会没了,比如说数据是0f,放过去只有f,如果后续有数据过来,那数据会变成:f.124df5312;多出了一点造成后续读取出错
改成:sprintf(&szDeviceId[i], "%02x", temp[6 + i]);即可兼容0开头数据,读取也正常