Especificadores de formato em C++
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium e Ultimate |
Quando estiver depurando código nativo a Watch janela ou QuickWatch caixa de diálogo, você alterar o formato no qual um valor é exibido usando especificadores de formato.
(A maioria dos especificadores de formato são somente para código nativo, mas a C# Visual tem um conjunto limitado de especificadores de formato. Para obter informações, consulte Especificadores de formato no C#.)
Você também pode usar os especificadores de formato na janela imediata, a janela de comando e até mesmo no windows de origem. Se você posicionar o cursor sobre uma expressão nessas janelas, o resultado será exibido em um DataTip. DataTips refletirá o especificador de formato na exibição do DataTip.
Exemplo
Suponha que nVar é uma variável integer, e a janela Watch mostra que ele contém o valor 0x0065. Para ver o valor expresso como um caractere em vez de um número inteiro, na coluna Nome, após o nome da variável, adicione o especificador de formato de caractere, c:
nVar,c
Em vez do valor inteiro 0x0065, a coluna de valor agora exibe o valor do caractere, 101 'e'.
Se você deseja aplicar um especificador de formato para elementos de uma matriz ou membros de um objeto, você deve aplicá-lo diretamente para cada elemento ou um membro. Você não é possível aplicá-lo para a matriz ou objeto como um todo. Por exemplo, suponha que você tinha uma matriz nArray e queria ver os quatro primeiros elementos no formato de caractere. Você deve inserir essas expressões na Watch janela:
nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c
As tabelas a seguir mostram os especificadores de formato reconhecidos pelo depurador.
Specifier |
Formato |
Expression |
Valor exibido |
---|---|---|---|
d, i |
um inteiro decimal |
0xF000F065, d |
-268373915 |
u |
inteiro decimal não assinado |
0x0065, u |
101 |
o |
inteiro octal não assinado |
0xF065, o |
0170145 |
5x |
Hexadecimal integer |
61541, x |
0x0000F065 |
l, h |
prefixo de longo ou curto para: d, i, u, o, x, X |
00406042, hx |
0x0c22 |
f |
assinado de ponto flutuante |
(3. / 2.), f |
1.500000 |
e |
notação científica de assinado |
(3. / 2.), e |
1.500000e + 000. |
g |
assinado de ponto flutuante ou assinados de notação científica, que for mais curto |
(3. / 2.), g |
1.5 |
c |
Caractere único |
0x0065, c |
101 'e' |
s |
String |
0x0012fde8, s |
"Hello world" |
Su |
Seqüência de caracteres Unicode |
0x0012fde8, su |
"Hello world" |
s8 |
Seqüência de caracteres UTF-8. |
0x0012fde8, s8 |
"Hello world" |
RH |
Código de erro HRESULT ou Win32. (O depurador agora decodifica HRESULTs automaticamente, portanto, este especificador não é necessário nesses casos. |
0x00000000L, h |
S_OK |
WC |
Sinalizador de classe de janela. |
0x00000040, wc |
WC_DEFAULTCHAR |
WM |
Números de mensagens do Windows |
0x0010, wm |
WM_CLOSE |
! |
formato RAW, ignorando quaisquer personalizações de modos de exibição do tipo de dados |
Eu! |
4 |
A tabela a seguir contém os símbolos de formatação usados para locais da memória. Você pode usar um especificador de local de memória com qualquer valor ou expressão que avalia um local.
Símbolo |
Formato |
Expression |
Valor exibido |
---|---|---|---|
MA |
64 Caracteres em ASCII |
PTR, ma |
0x0012ffac. 4... 0... ".0W &.......1W &.0.:W..1...."..1. JO &.1.2... "...1... 0y....1 |
m |
16 bytes em hexadecimal, seguido de 16 caracteres em ASCII |
PTR, m |
0X0012FFAC B3 34 CB 00 84 30 94 8A DE 80 22 DE FF 30 57 26 00 00. 4... 0... ".0W &.. |
MB |
16 bytes em hexadecimal, seguido de 16 caracteres em ASCII |
PTR, mb |
0X0012FFAC B3 34 CB 00 84 30 94 8A DE 80 22 DE FF 30 57 26 00 00. 4... 0... ".0W &.. |
mW |
8 palavras |
PTR, mw |
0X0012FFAC 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
MD |
4 doublewords |
PTR, md |
308A22FF DE 80943084 DE 00CB34B3 0X0012FFAC 00002657 |
MQ |
2 quadwords |
PTR, mq |
5f441a790012fdd4 de 7ffdf00000000000 de 0x0012ffac |
MU |
caracteres de 2 bytes (Unicode) |
PTR, mu |
0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
Especificador de tamanho de ponteiros como matrizes
Se você tiver um ponteiro para um objeto que você deseja exibir como uma matriz, você pode usar um número inteiro para especificar o número de elementos da matriz:
ptr,10
Consulte também
Tarefas
Como: Assista a uma expressão no depurador