Escapesequenzen

Zeichenkombinationen, die aus einem umgekehrten Schrägstrich (\) gefolgt von einem Buchstaben oder einer Kombination aus Ziffern bestehen, werden als „Escapesequenzen“ bezeichnet. Um ein Zeilenvorschubzeichen, ein einzelnes Anführungszeichen oder bestimmte andere Zeichen in einer Zeichenkonstante darstellen zu können, müssen Sie Escapesequenzen verwenden. Eine Escapesequenz wird als ein einzelnes Zeichen betrachtet und ist daher als Zeichenkonstante gültig.

Escapesequenzen werden in der Regel verwendet, um Aktionen, wie etwa Wagenrückläufe und Tabstopps, auf Terminals und Druckern anzugeben. Sie werden auch verwendet, um Literaldarstellungen von nicht druckbaren Zeichen und Zeichen, die normalerweise eine besondere Bedeutung haben, bereitzustellen, z.B. von doppelten Anführungszeichen ( " ). Die folgende Tabelle zeigt die ANSI-Escapesequenzen und was sie darstellen.

Beachten Sie, dass das Fragezeichen, dem ein umgekehrter Schrägstrich vorangestellt ist (\?), ein literales Fragezeichen angibt, wenn die Zeichenfolge als Trigraph fehlinterpretiert werden würde. Weitere Informationen finden Sie unter Trigraphen.

Escapesequenzen

Escapesequenz Repräsentiert
\a Glocke (Warnung)
\b Rückschritt
\f Seitenvorschub
\n Zeilenwechsel
\r Wagenrücklauf
\t Horizontaler Tabulator
\v Vertikaler Tabulator
\' Einfaches Anführungszeichen
\" Doppeltes Anführungszeichen
\\ Umgekehrter Schrägstrich
\? Literales Fragezeichen
\ooo ASCII-Zeichen in der Oktalnotation
\xhh ASCII-Zeichen in der Hexadezimalnotation
\xhhhh Unicode-Zeichen in der Hexadezimalnotation, wenn diese Escapesequenz in einer Konstante mit Breitzeichen oder in einem Unicode-Zeichenfolgenliteral verwendet wird.

Beispielsweise WCHAR f = L'\x4e00' oder WCHAR b[] = L"The Chinese character for one is \x4e00".

Microsoft-spezifisch

Wenn einem Zeichen ein umgekehrter Schrägstrich vorangestellt ist, der nicht in der Tabelle enthalten ist, behandelt der Compiler das nicht definierte Zeichen als das Zeichen selbst. Beispielsweise wird \c als c behandelt.

Ende Microsoft-spezifisch

Mithilfe von Escapesequenzen können Sie nicht grafische Steuerzeichen an ein Anzeigegerät senden. Beispielsweise wird das ESC-Zeichen ( \033) häufig als erstes Zeichen eines Steuerungsbefehls für ein Terminal oder einen Drucker verwendet. Einige Escapesequenzen sind gerätespezifisch. Die Escapesequenzen für vertikale Tabstopps und Seitenvorschübe ( \v und \f) beeinflussen beispielsweise die Bildschirmausgabe nicht, sondern sie führen die entsprechenden Druckervorgänge aus.

Sie können den umgekehrten Schrägstrich ( \ ) auch als Fortsetzungszeichen verwenden. Wenn ein Zeilenumbruchzeichen (entsprechend dem Drücken der EINGABETASTE) direkt auf den umgekehrten Schrägstrich folgt, ignoriert der Compiler den umgekehrten Schrägstrich und das Zeilenumbruchzeichen und behandelt die nächste Zeile als Teil der vorherigen Zeile. Dies wird in erster Linie für Präprozessordefinitionen verwendet, die länger als eine einzige Zeile sind. Zum Beispiel:

#define assert(exp) \
( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )

Siehe auch

C-Zeichenkonstanten