Séquences d'échappement

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation des constantes caractère - Index

La barre oblique inversée (\) sert à introduire une séquence d'échappement permettant la représentation visuelle de certains caractères non graphiques. Par exemple, la constante \n désigne un caractère de saut de ligne.

La barre oblique inversée est utilisée avec un nombre octal ou hexadécimal afin de représenter le symbole ASCII ou le code de contrôle correspondant au nombre. Par exemple, '\03' correspond à CTRL-C, et '\x3F' au point d'interrogation. Dans une séquence d'échappement, vous pouvez utiliser n'importe quelle chaîne de trois valeurs octales au maximum, ou autant de chiffres hexadécimaux que vous le voulez, à condition que la valeur soit comprise dans l'intervalle autorisé pour le type de données char (de 0 à 0xff). Les grands nombres entraînent une erreur de compilation, signalée par le message Constante numérique trop grande. Par exemple, le nombre octal \777 est supérieur à la valeur maximale permise qui est \377 ; une erreur est donc générée. Le premier caractère non octal ou non hexadécimal rencontré dans une séquence d'échappement octale ou hexadécimale marque la fin de celle-ci.

Par exemple,

printf("\x0072.1 Un système d'exploitation");

L'interprétation attendue serait "\x007" et "2.1Un système d'exploitation". Cependant, le compilateur compile cette écriture comme le nombre hexadécimal "\x0072" et la chaîne littérale ".1 Un système d'exploitation".

Pour éviter ces problèmes, écrivez votre code sous cette nouvelle forme :

printf("\x007" "2.1 Un système d'exploitation");

D'autres ambiguïtés peuvent surgir si une séquence d'échappement octale est suivie d'un chiffre non octal. Par exemple, comme les chiffres 8 et 9 ne sont pas admis en base 8, la constante \258 sera interprétée comme une constante de deux caractères, formée de \25 et de 8.

Le tableau ci-après indique les séquences d'échappement possibles.

Séquences d'échappement

Remarque:  Vous devez utiliser \\ pour représenter la barre oblique inversée ASCII servant, par exemple, aux chemins d'accès du système d'exploitation.

Séquence

Valeur

Car

Effet

\a
0x07

BEL

Signal sonore

\b
0x08

BS

Retour arrière

\f
0x0C

FF

Saut de page

\n
0x0A

LF

Saut de ligne

\r
0x0D

CR

Retour chariot

\t
0x09

HT

Tabulation horizontale

\v
0x0B

VT

Tabulation verticale

\\
0x5c

\

Barre oblique inversée

\'

0x27

'

Apostrophe

\"
0x22

"

Guillemet

\?
0x3F

?

Point d'interrogation

\O

quelconque

O = une chaîne en octal sur trois chiffres

\xH

quelconque

H = une chaîne de chiffres hexadécimaux

\XH

quelconque

H = une chaîne de chiffres hexadécimaux

Voir aussi