Espaces de noms
Variantes
Affichages
Actions

Séquences d'échappement

De cppreference.com
< cpp‎ | language
 
 
Langage C++
Sujets généraux
Table ASCII
Séquences d'échappement
Histoire du C++
Contrôle de flux
Instructions conditionnelles
Instructions d'itération
Instructions de saut
Fonctions
déclaration de fonction
expression lambda
fonction générique
spécificateur inline
spécification d'exception (obsolète)
spécificateur noexcept (C++11)
Exceptions
Espaces de noms
Types
spécificateur decltype (C++11)
Qualificatifs
qualificatifs const et volatile
qualificatifs de stockage
qualificatif constexpr (C++11)
qualificatif auto (C++11)
qualificatif alignas (C++11)
Initialisation
Littéraux
Expressions
opérateurs alternatifs
Utilitaires
Types
déclaration typedef
déclaration d'alias de type (C++11)
attributs (C++11)
Jette
Original:
Casts
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
conversions implicites
conversion const_cast
conversion static_cast
conversion dynamic_cast
conversion reinterpret_cast
conversions style C et style fonction
Allocation de mémoire
Classes
Qualificatifs spécifiques aux membres de classe
Fonctions membres spéciales
Modèles
classes génériques
fonctions génériques
spécialisation de modèles
paquets de paramètres (C++11)
Divers
Assembleur
 

Les séquences d'échappement sont utilisées pour définir certains caractères spéciaux dans les chaînes de caractères littérales.

Les séquences d'échappement suivantes sont disponibles:

Séquences
d'échappement
Description Representation
\' apostrophe octet 0x27
\" guillemet octet 0x22
\? point d'interrogation octet 0x3f
\\ anti-slash octet 0x5c
\0 caractère nul octet 0x00
\a son de cloche audible octet 0x07
\b retour arrière (backspace) byte 0x08
\f nouvelle page octet 0x0c
\n nouvelle ligne octet 0x0a
\r retour chariot octet 0x0d
\t tabulation horizontale octet 0x09
\v tabulation verticale byte 0x0b
\nnn Valeur octale arbitraire octet nnn
\xnn Valeur hexadécimale arbitraire octet nn
\u
nnnn
Original:
nnnn
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Valeur Unicode arbitraire.
Peut résulter en plusieurs caractères.
identifiant U+nnnn
\U
nnnnnnnn
Original:
nnnnnnnn
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Valeur Unicode arbitraire.
Peut résulter en plusieurs caractères.
identifiant U+nnnnnnnn

[modifier] Notes

Le caractère de nouvelle ligne (\n) a une signification particulière lorsqu'il est utilisé en mode texte d'E/S, il est converti à la séquence d'octets de saut de ligne spécifique à l'OS.

Les séquences d'échappement en valeur octale ont une limite de trois chiffres en octal, mais se terminent au premier caractère qui n'est pas un chiffre octal valide si rencontré plus tôt.

Les séquences d'échappement hexadécimales n'ont pas de limite de longueur et se termine au premier caractère qui n'est pas un chiffre hexadécimal valide. Si la valeur représentée par une séquence d'échappement hexadécimale unique ne correspond pas à la plage de valeurs représentées par le type de caractères utilisé dans cette chaîne littérale (char, char16_t, char32_t ou wchar_t), le résultat est indéfini.

Un nom de caractère universel dans une chaîne littérale étroite peut correspondre à plus d'un caractère en raison de l'encodage multi-octet.

La séquence d'échappement point d’interrogation \? est utilisée pour empêcher les trigraphes d'être interprétés à l'intérieur des chaînes littérales : une chaîne telle que "??/" est compilée comme "\", mais si le second point d’interrogation est échappé, comme dans "?\?/", il devient "??/"

[modifier] Exemple

#include <iostream>
 
int main()
{
    std::printf("C'est\nun\ntest\n\nElle a dit, \"Comment vas-tu ?\"\n");
}

Résultat :

C'est
un
test
 
Elle a dit, "Comment vas-tu ?"

[modifier] Voir aussi