C++ 中的格式規範
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
||||
Standard 版 |
||||
Pro/Team 版 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
在 [監看式] 視窗或 [快速監看式] 對話方塊中偵錯機器碼時,您會變更使用格式規範顯示的數值格式
(大部分格式規範僅適用於機器碼,但是 Visual C# 擁有限制的格式規範組。如需詳細資訊,請參閱 C# 中的格式規範)。
也可以在 [即時運算] 視窗、[命令] 視窗,甚至來源視窗中使用格式規範。如果將游標移到這些視窗中的運算式上,結果則會顯示在資料提示方塊。資料提示方塊會在資料提示方塊顯示中反映格式規範。
範例
假設 nVar 是一個整數變數,而且 [監看式] 視窗顯示出它包含了數值 0x0065。若希望數值以字元顯示,而非整數,請在 [名稱] 欄位中變數名稱後面,加入字元格式規範 c:
nVar,c
[值] 欄位現在顯示字元值 101 'e',而非整數值 0x0065。
如果希望將格式規範套用至陣列元素或物件成員,您必須將它直接套用至每個元素或成員中。您不能將它一次套用至整個陣列或物件中。例如,假設您擁有一個陣列 nArray,並希望前四個元素都以字元格式顯示。您應將下列運算式輸入至 [監看式] 視窗中:
nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c
下表為偵錯工具可辨識的格式規範。
規範 |
格式 |
運算式 |
顯示的值 |
---|---|---|---|
d,i |
帶正負號的十進位整數 |
0xF000F065, d |
-268373915 |
u |
不帶正負號的十進位整數 |
0x0065, u |
101 |
o |
不帶正負號的八進位整數 |
0xF065, o |
0170145 |
x,X |
十六進位整數 |
61541, x |
0x0000F065 |
l,h |
長整數或短整數前置詞,用於:d、i、u、o、x、X |
00406042,hx |
0x0c22 |
f |
帶正負號的浮點數 |
(3./2.), f |
1.500000 |
e |
帶正負號的科學記號表示法 |
(3./2.), e |
1.500000e+000 |
g |
帶正負號的浮點數或帶正負號的科學記號表示法兩者中較短的 |
(3./2.), g |
1.5 |
c |
單一字元 |
0x0065, c |
101 'e' |
s |
字串 |
0x0012fde8, s |
"Hello world" |
su |
Unicode 字串 |
0x0012fde8, su |
"Hello world" |
s8 |
UTF-8 字串 |
0x0012fde8, s8 |
"Hello world" |
hr |
HRESULT 或 Win32 錯誤碼 (偵錯工具現在可自動將 HRESULT 解碼,因此規範並不需要用於這些狀況中) |
0x00000000L, hr |
S_OK |
wc |
Window 類別旗標。 |
0x00000040, wc |
WC_DEFAULTCHAR |
wm |
Windows 訊息編號 |
0x0010, wm |
WM_CLOSE |
! |
未經處理格式,忽略任何資料型別檢視自訂 |
i ! |
4 |
下表包含了用於記憶體位置的格式化符號。您可將記憶體位置來規範用於評估結果為位置的任何數值或運算式。
符號 |
格式 |
運算式 |
顯示的值 |
---|---|---|---|
ma |
64 個 ASCII 字元 |
ptr, ma |
0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1 |
m |
十六進位表示的 16 個位元組,後面跟著 16 個 ASCII 字元 |
ptr, m |
0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
mb |
十六進位表示的 16 個位元組,後面跟著 16 個 ASCII 字元 |
ptr, mb |
0x0012ffac B3 34 CB 00 84 30 94 80 FF 22 8A 30 57 26 00 00 .4...0...".0W&.. |
mw |
8 個字元組 |
ptr, mw |
0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
md |
4 個 Doubleword |
ptr, md |
0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
mq |
2 個 Quadword |
ptr, mq |
0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
mu |
2 個位元組的字元 (Unicode) |
ptr, mu |
0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
指標顯示成陣列時的大小規範
如果想要將檢視的物件指標做為陣列,可以使用整數來指定陣列項目的數量:
ptr,10