printf("%02x")乱码.printf("%x")正常
memset(buf,0,sizeof(buf));
va_start(arg, pszFmt);
vsnprintf(buf, sizeof(buf), pszFmt, arg);
类似于printf的函数。代码在上面。
[解决办法]
你要注意, 0xX使用是要注意有符号,无符号问题.
最好是强制转换成无符号数.
printf("\r\n12222SWB=%02x\r\n",(BYTE)helll); //BYTE 是 unsigned char
[解决办法]
[解决办法]
你的参数不够哦,在编译时应该会给你警告提示。当然你需要打开警告提示。
[解决办法]
参数说明:
%x或%X期待unsigned int,无符号延展。所以
- C/C++ code
unsigned char c = 0x80; unsigned int b = c; //0x00 00 00 00 80