题
KdPrint((
"Unknown IoControlCode %#x\n",
io_stack->Parameters.DeviceIoControl.IoControlCode
));
有点奇怪。锋利的意思是什么?
解决方案
printf文档说:
字符%之后为零或以下标志:
# 该值应转换为“替代形式”。对于O转换,输出字符串的第一个字符为零(如果还不是零,则将其前缀为0)。对于X和X转换,非零结果的字符串'0x'(或X转换的“ 0x”)已被固定到它。对于a,a,e,e,f,f,g和g转换,即使没有数字遵循数字,结果始终包含小数点(通常,仅当这些转换的结果中出现小数点数字接下来)。对于G和G转换,落后的零不会从结果中删除。对于其他转换,结果是不确定的。
标志上的MSDN文档是 这里.
因此对于 %#x
该值只是将 0x
. 。在哪里 %x
会产生 34ab
, %#x
会产生 0x34ab
.
不隶属于 StackOverflow