读书人

printf(quot;%02xquot;)乱码.printf(quot;%xquot;)通常

发布时间: 2012-10-19 16:53:35 作者: rapoo

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

[解决办法]

探讨
printf("\r\n12222.SWB=%02x\r\n",helll);有问题。

printf("\r\n12222SWB=%02x\r\n",helll); 不加点就会显示正常!!

[解决办法]
你的参数不够哦,在编译时应该会给你警告提示。当然你需要打开警告提示。
[解决办法]
参数说明:
%x或%X期待unsigned int,无符号延展。所以
C/C++ code
unsigned char c = 0x80; unsigned int b = c; //0x00 00 00 00 80 

读书人网 >C语言

热点推荐