Especificadores de formato en C++
Actualización: noviembre 2007
Este tema se aplica a:
Edición |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro y Team |
Leyenda de la tabla:
Se aplica |
|
No procede |
|
Comando o comandos ocultos de manera predeterminada. |
Al depurar el código nativo en la ventana Inspección o en el cuadro de diálogo Inspección rápida, se cambia el formato en el que se muestra un valor mediante especificadores de formato.
(La mayoría de los especificadores de formato son solo para código nativo, sin embargo Visual C# posee un conjunto limitado de especificadores de formato. Para obtener información, vea Especificadores de formato en C#).
También puede utilizar especificadores de formato en las ventanas Inmediato y Comandos, así como en ventanas de código fuente. Si desplaza el cursor sobre una expresión de esas ventanas, el resultado aparecerá en un cuadro desplegable de información sobre datos. Estos cuadros mostrarán el especificador de formato en la pantalla de información sobre datos.
Ejemplo
Suponga que nVar es una variable de tipo entero y que la ventana Inspección muestra que esa variable contiene el valor 0x0065. Para ver el valor expresado como carácter, en vez de como entero, en la columna Nombre, agregue el especificador de formato de carácter c a continuación del nombre de la variable:
nVar,c
En lugar del valor entero 0x0065, la columna Valor muestra ahora el valor de carácter, 101 'e'.
Si desea aplicar un especificador de formato a los elementos de una matriz o a los miembros de un objeto, debe aplicarlo directamente a cada elemento o miembro. No se puede aplicar a la matriz o al objeto en su totalidad. Por ejemplo, suponga que tiene una matriz nArray y desea ver los cuatro primeros elementos en formato de carácter. Entonces, debe escribir estas expresiones en la ventana Inspección:
nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c
Las siguientes tablas muestran los especificadores de formato que reconoce el depurador.
Especificador |
Formato |
Expresión |
Valor mostrado |
---|---|---|---|
d,i |
Entero decimal con signo |
0xF000F065, d |
-268373915 |
u |
Entero decimal sin signo |
0x0065, u |
101 |
o |
Entero octal sin signo |
0xF065, o |
0170145 |
x,X |
Entero hexadecimal |
61541, x |
0x0000F065 |
l,h |
Prefijo long o short para: d, i, u, o, x, X |
00406042,hx |
0x0c22 |
f |
Punto flotante con signo |
(3./2.), f |
1.500000 |
e |
Notación científica con signo |
(3./2.), e |
1.500000e+000 |
g |
Punto flotante con signo o notación científica con signo, el que sea más corto |
(3./2.), g |
1.5 |
c |
Un único carácter |
0x0065, c |
101 'e' |
s |
Cadena |
0x0012fde8, s |
"Hello world" |
su |
Cadena de Unicode |
0x0012fde8, su |
"Hello world" |
s8 |
Cadena de UTF-8 |
0x0012fde8, s8 |
"Hello world" |
hr |
HRESULT o código de error Win32. (Ahora, el depurador descodifica los HRESULT automáticamente, de modo que este especificador no es necesario en esos casos. |
0x00000000L, hr |
S_OK |
wc |
Indicador de clase de ventana. |
0x00000040, wc |
WC_DEFAULTCHAR |
wm |
Números de mensajes de Windows |
0x0010, wm |
WM_CLOSE |
! |
Sin formato, omite cualquier personalización de vistas de tipos de datos |
i ! |
4 |
La siguiente tabla contiene símbolos de formato que se utilizan para posiciones de memoria. Puede utilizar un especificador de ubicación de memoria con cualquier valor o expresión que se evalúe como una ubicación.
Símbolo |
Formato |
Expresión |
Valor mostrado |
---|---|---|---|
ma |
64 caracteres ASCII |
ptr, ma |
0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1 |
m |
16 bytes en hexadecimal, seguidos por 16 caracteres 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 bytes en hexadecimal, seguidos por 16 caracteres 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 palabras |
ptr, mw |
0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
md |
4 palabras dobles |
ptr, md |
0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
mq |
2 palabras cuádruples |
ptr, mq |
0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
mu |
Caracteres de 2 bytes (Unicode) |
ptr, mu |
0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
Especificador de tamaño para punteros como matrices
Si tiene un puntero a un objeto que desea ver como una matriz, puede utilizar un entero para especificar el número de elementos de matriz:
ptr,10
Vea también
Tareas
Cómo: Inspeccionar una expresión en el depurador