Caractères d'échappement C++

Muhammad Husnain 16 février 2024
  1. Caractères de contrôle en C++
  2. Caractères de ponctuation en C++
  3. Références de caractères numériques en C++
Caractères d'échappement C++

Ce didacticiel abordera d’abord les caractères d’échappement en C et C++. La seule mise en garde ici est que l’utilisation de codes hexadécimaux suppose d’avoir un codage de caractères compatible ASCII.

Caractères de contrôle en C++

\a \x07 alerte (cloche), qui produit le son cloche sur la plupart des ordinateurs
\b \x08 retour arrière
\t \x09 tabulation horizontale
\n \x0A nouvelle ligne
\v \x0B onglet vertical
\f \x0C saut de formulaire
\r \x0D retour chariot (la touche Enter sur la plupart des ordinateurs)
\e \x1B Escape (Ceci n’est pas standard. Vous ne le trouverez peut-être pas toujours)

Caractères de ponctuation en C++

\" est le guillemet (double apostrophe). Notez également que la barre oblique inverse ne sera pas nécessaire si le caractère est écrit comme '"'.

\' = apostrophe. Encore une fois, la barre oblique inverse ne sera pas nécessaire dans un cas spécifique, et cette fois, il s’agit de "'".

\? = Point d’interrogation (Cependant, il n’est utilisé que dans des cas spécifiques, comme éviter les trigraphes. En C, les trigraphes sont des groupes de 3 caractères qui ont une signification spécifique lorsqu’ils sont utilisés ensemble.

Par exemple, le trigraphe ??= est équivalent au signe de ponctuation #. Plus d’informations peuvent être trouvées dans cette documentation.

\\ = barre oblique inverse. Lorsque vous devez écrire une barre oblique inverse.

Références de caractères numériques en C++

\ +(signe plus) 3 chiffres octaux.

\x + plus n’importe quel nombre de chiffres hexadécimaux. Notez que le compilateur lit les chiffres hexadécimaux jusqu’à ce qu’ils rencontrent le premier chiffre non hexadécimal, et après avoir rencontré le premier chiffre non hexadécimal, il arrête de lire les chiffres pour le caractère actuel.

\u + plus 4 chiffres hexadécimaux (Unicode BMP, ajouté en C++11).

\U + plus 8 chiffres hexadécimaux (plans astraux Unicode, ajoutés en C++11).

\0 = \00 = \000 = caractère nul.

Un autre cas particulier est \e, qui n’est pas standard en C ou C++ mais serait utilisé par certains compilateurs pour représenter \x1B.

Si vous souhaitez avoir quelque chose de non standard, par exemple, pour construire une chaîne avec un caractère 0, suivi d’un caractère nul \0, suivi du caractère 0 une fois de plus, alors vous avez quelques options.

Syntaxe de concaténation de chaînes :

std::string(
    "0\0"
    "0",
    3);

Syntaxe de la liste d’initialisation :

std::string{'0', 0, '0'};

L’utilisation de cette dernière option par rapport à la première option est généralement préférée, car vous évitez de spécifier des tailles et pouvez également éviter d’utiliser complètement les caractères d’échappement.

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn