C++ 中的格式说明符
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
||||
标准版 |
||||
专业团队版 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
在“监视”窗口或“快速监视”对话框中调试本机代码时,您会使用格式说明符更改值的显示格式。
(大多数格式说明符仅适用于本机代码,但是 Visual C# 包含有限的一组格式说明符)。(有关信息,请参阅 C# 中的格式说明符。)
您还可以在即时窗口、命令窗口甚至是源窗口中使用格式说明符。如果将光标悬停在这些窗口中的表达式上,结果将在数据提示中显示。数据提示将在数据提示的显示内容中反映格式说明符。
示例
假设 nVar 是整数变量,并且“监视”窗口显示其包含值 0x0065。若要看到表示为字符而不是整数的值,请在“名称”列,在变量名之后添加字符格式说明符 c:
nVar,c
“值”列现在不显示整数值 0x0065,而显示字符值 101 'e'。
如果要将格式说明符应用于数组元素或对象成员,必须将其直接应用于每个元素或成员。不能将其整体应用于数组或对象。例如,假设有数组 nArray,并且想看字符格式的前四个元素。应在“监视”窗口输入下列表达式:
nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c
下表说明调试器可识别的格式说明符。
说明符 |
格式 |
表达式 |
显示的值 |
---|---|---|---|
d,i |
signed 十进制整数 |
0xF000F065, d |
-268373915 |
u |
unsigned 十进制整数 |
0x0065, u |
101 |
o |
unsigned 八进制整数 |
0xF065, o |
0170145 |
x,X |
十六进制整数 |
61541, x |
0x0000F065 |
l,h |
用于 d、i、u、o、x、X 的 long 或 short 前缀 |
00406042,hx |
0x0c22 |
f |
signed 浮点型 |
(3./2.), f |
1.500000 |
e |
signed 科学计数法 |
(3./2.), e |
1.500000e+000 |
g |
signed 浮点型或 signed 科学计数法,显示其中较短的数 |
(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 |
窗口类标志。 |
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 个双倍长字 |
ptr, md |
0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
mq |
2 个四倍长字 |
ptr, mq |
0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
mu |
2 字节字符 (Unicode) |
ptr, mu |
0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
数组形式的指针大小说明符
如果对于要以数组形式查看的对象,有一个指向它的指针,则可以使用一个整数来指定数组元素的数量:
ptr,10