2
KdPrint((
         "Unknown IoControlCode %#x\n",
                io_stack->Parameters.DeviceIoControl.IoControlCode
        ));

それは奇妙だ。鋭い とはどういう意味ですか?

4

3 に答える 3

4

#代替フォーマットを示します。xこれは、それが0x出力の先頭に追加されることを意味します。

于 2010-08-20T09:51:55.920 に答える
4

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

于 2010-08-20T09:54:34.853 に答える
3

printf指定子とともに使用するとx#出力される0x値が以外の場合 0、出力の前に が付けられます。

于 2010-08-20T09:53:36.433 に答える