Spécificateurs de format en C++
Mise à jour : novembre 2007
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro et Team |
Légende du tableau :
Applicable |
|
Non applicable |
|
Commande ou commandes masquées par défaut. |
Lorsque vous déboguez du code natif dans la fenêtre Espion ou la boîte de dialogue Espion express, vous modifiez le format d'affichage des valeurs à l'aide de spécificateurs de format.
(La plupart des spécificateurs de format ne s'appliquent qu'au code natif, mais Visual C# possède un jeu limité de spécificateurs de format. Pour plus d'informations, consultez Spécificateurs de format en C#.)
Vous pouvez également utiliser des spécificateurs de format dans la fenêtre Exécution, la fenêtre Commande et même les fenêtres sources. Si vous positionnez le curseur au-dessus d'une expression figurant dans ces fenêtres, le résultat apparaîtra dans un DataTip. Les DataTips répercuteront le spécificateur de format dans l'affichage du DataTip.
Exemple
Supposons que nVar soit une variable entière et que la fenêtre Espion montre qu'elle contient la valeur 0x0065. Pour voir la valeur exprimée sous la forme d'un caractère plutôt que sous la forme d'un entier, dans la colonne Nom, après le nom de la variable, ajoutez le spécificateur de format de caractère, c:
nVar,c
À la place de la valeur entière 0x0065, la colonne Valeur affiche désormais la valeur de caractère 101 'e'.
Si vous souhaitez appliquer un spécificateur de format aux éléments d'un tableau ou aux membres d'un objet, vous devez l'appliquer directement à chaque élément ou membre. Vous ne pouvez pas l'appliquer au tableau ou à l'objet dans son intégralité. Par exemple, supposons que vous ayez un tableau nArray et que vous souhaitiez afficher les quatre premiers éléments au format caractère. Dans ce cas, vous saisirez les expressions suivantes dans la fenêtre Espion :
nArray[0],c
nArray[1],c
nArray[2],c
nArray[3],c
Les tableaux suivants montrent les spécificateurs de format reconnus par le débogueur.
Spécificateur |
Format |
Expression |
Valeur affichée |
---|---|---|---|
d,i |
entier décimal signé |
0xF000F065, d |
-268373915 |
u |
entier décimal non signé |
0x0065, u |
101 |
o |
entier octal non signé |
0xF065, o |
0170145 |
x,X |
entier hexadécimal |
61541, x |
0x0000F065 |
l,h |
préfixe long ou short pour : d, i, u, o, x, X |
00406042,hx |
0x0c22 |
f |
virgule flottante signée |
(3./2.), f |
1.500000 |
e |
notation scientifique signée |
(3./2.), e |
1.500000e+000 |
g |
virgule flottante signée ou notation scientifique signée, selon ce qui est le plus court |
(3./2.), g |
1.5 |
c |
caractère unique |
0x0065, c |
101 'e' |
s |
Chaîne |
0x0012fde8, s |
"Hello world" |
su |
chaîne Unicode |
0x0012fde8, su |
"Hello world" |
s8 |
Chaîne UTF-8 |
0x0012fde8, s8 |
"Hello world" |
hr |
HRESULT ou un code d'erreur Win32. (Le débogueur décode automatiquement HRESULTs, le spécificateur n'est pas requis dans ces cas-là. |
0x00000000L, hr |
S_OK |
wc |
indicateur de classe de fenêtre |
0x00000040, wc |
WC_DEFAULTCHAR |
wm |
numéros de message Windows |
0x0010, wm |
WM_CLOSE |
! |
format brut, ignorant toutes les personnalisations de vue de type de données |
i ! |
4 |
Le tableau suivant contient les symboles de format pour les emplacements en mémoire. Vous pouvez utiliser un spécificateur d'emplacement en mémoire avec n'importe quelle valeur ou expression dont l'évaluation fournit un emplacement.
Symbole |
Format |
Expression |
Valeur affichée |
---|---|---|---|
ma |
64 caractères ASCII |
ptr, ma |
0x0012ffac .4...0...".0W&.......1W&.0.:W..1...."..1.JO&.1.2.."..1...0y....1 |
m |
16 octets en hexadécimal suivis de 16 caractères 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 octets en hexadécimal suivis de 16 caractères 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 mots |
ptr, mw |
0x0012ffac 34B3 00CB 3084 8094 22FF 308A 2657 0000 |
md |
4 mots doubles |
ptr, md |
0x0012ffac 00CB34B3 80943084 308A22FF 00002657 |
mq |
2 mots quadruples |
ptr, mq |
0x0012ffac 7ffdf00000000000 5f441a790012fdd4 |
mu |
caractères sur 2 octets (Unicode) |
ptr, mu |
0x0012fc60 8478 77f4 ffff ffff 0000 0000 0000 0000 |
Spécificateur de taille pour les pointeurs sous forme de tableaux
Si vous avez un pointeur vers un objet que vous souhaitez afficher sous forme de tableau, vous pouvez utiliser un entier pour spécifier le nombre d'éléments du tableau :
ptr,10
Voir aussi
Tâches
Comment : surveiller une expression dans le débogueur