KdPrint((
"Unknown IoControlCode %#x\n",
io_stack->Parameters.DeviceIoControl.IoControlCode
));
這很奇怪。尖銳的意思是什麼?你知道%#x,C語言格式嗎?字符串
KdPrint((
"Unknown IoControlCode %#x\n",
io_stack->Parameters.DeviceIoControl.IoControlCode
));
這很奇怪。尖銳的意思是什麼?你知道%#x,C語言格式嗎?字符串
的printf的文件說:
字符%後跟零個或多個下列標誌:
#值應被轉換成一個「‘替代形式’」。 對於o轉換,輸出字符串的第一個字符 設爲零(如果 已不爲零,則以 爲前綴0)。對於x和X轉換, 非零結果 具有前綴爲 的字符串'0x'(或用於X轉換的'0X')。對於a,e,e,f,f,g和g 轉換,結果將始終爲 包含小數點,即使沒有 數字跟隨它(通常,小數點 點出現 這些轉換僅在數字出現時纔會發生)。 對於g和G轉換,尾隨 零並不會從結果 中移除,因爲它們本來就是這樣。對於其他 轉換,結果爲undefined.conversions,結果未定義。
的標誌MSDN文檔是here
所以%#x的值被簡單地以0x前綴。其中%x將產生34ab%#x會產生0x34ab
#
指標an alternative format。對於x
這意味着0x
被預先輸出。
printf與說明符x
使用時,#
使輸出被前綴0x
提供被印刷的值大於0
其他。