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.

其他提示

# 凹陷 另一种格式. 。为了 x 这意味着 0x 被准备到输出。

printf 当与指定符一起使用时 x, # 导致输出与 0x 只要打印的价值是 以外 0.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top