質問
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変換の場合、結果には桁が続く場合でも、結果には常に小数点が含まれます(通常、小数点は、それらの変換の結果に、aの結果に表示されます。桁が続きます)。 GおよびG変換の場合、後続のゼロは、そうでなければ結果から削除されません。他の変換の場合、結果は未定義です。
フラグ上のMSDNドキュメントはそうです ここ.
だから %#x
値は単純にプレフィックスされています 0x
. 。どこ %x
降伏します 34ab
, %#x
降伏します 0x34ab
.
所属していません StackOverflow