C++ Escape-Zeichen

Muhammad Husnain 12 Oktober 2023
  1. Steuerzeichen in C++
  2. Satzzeichen in C++
  3. Numerische Zeichenreferenzen in C++
C++ Escape-Zeichen

Dieses Tutorial behandelt zunächst die Escape-Zeichen in C und C++. Der einzige Vorbehalt hier ist, dass die Verwendung von Hexadezimalcodes eine ASCII-kompatible Zeichencodierung voraussetzt.

Steuerzeichen in C++

\a \x07 alert (bell), der auf den meisten Computern den Glocke-Ton erzeugt
\b \x08 Rücktaste
\t \x09 horizontaler Reiter
\n \x0A Neue Zeile
\v \x0B vertikale Registerkarte
\f \x0C Formular-Feed
\r \x0D Wagenrücklauf (die Eingabetaste auf den meisten Computern)
\e \x1B Flucht (Dies ist kein Standard. Sie finden dies möglicherweise nicht immer)

Satzzeichen in C++

\" ist das Anführungszeichen (doppelter Apostroph). Beachten Sie auch, dass der umgekehrte Schrägstrich nicht benötigt wird, wenn das Zeichen als \" geschrieben wird.

\' = Apostroph. Auch hier wird der Backslash in einem bestimmten Fall nicht benötigt, und dieses Mal ist es "'".

\? = Fragezeichen (Wird jedoch nur in bestimmten Fällen verwendet, z. B. um Trigraphen zu vermeiden. In C sind Trigraphen Gruppen von 3 Zeichen, die zusammen verwendet eine bestimmte Bedeutung haben.

Beispielsweise entspricht der Trigraph ??= dem Satzzeichen #. Weitere Informationen finden Sie in dieser Dokumentation.

\\ = Backslash. Wenn Sie einen Backslash schreiben müssen.

Numerische Zeichenreferenzen in C++

\ +(Pluszeichen) 3 beliebige Oktalziffern.

\x + plus eine beliebige Anzahl von Hexadezimalziffern. Beachten Sie, dass der Compiler die Hexadezimalziffern liest, bis sie auf die erste Nicht-Hexadezimalziffer stoßen, und nachdem er auf die erste Nicht-Hexadezimalziffer gestoßen ist, stoppt er das Lesen von Ziffern für das aktuelle Zeichen.

\u + plus 4 Hexadezimalziffern (Unicode BMP, hinzugefügt in C++11).

\U + plus 8 Hexadezimalziffern (Unicode-Astralebenen, hinzugefügt in C++11).

\0 = \00 = \000 = Nullzeichen.

Ein weiterer Sonderfall ist \e, der in C oder C++ nicht Standard ist, aber von einigen Compilern verwendet wird, um \x1B darzustellen.

Wenn Sie etwas Nicht-Standard haben möchten, zum Beispiel einen String mit einem Zeichen 0, gefolgt von einem Nullzeichen \0, gefolgt von wieder dem Zeichen 0, zu konstruieren, dann haben Sie ein paar davon Optionen.

String-Verkettungssyntax:

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

Syntax der Initialisiererliste:

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

Die Verwendung der letzteren Option gegenüber der ersten Option wird im Allgemeinen bevorzugt, da Sie die Angabe von Größen vermeiden und auch die Verwendung von Escape-Zeichen insgesamt vermeiden können.

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