Escape-Sequenzen
Nach oben zu Zeichenkonstanten (Übersicht) - Index
Das Backslash-Zeichen (\
) wird zur Einführung einer Escape-Sequenz verwendet, die eine visuelle Darstellung bestimmter nichtgrafischer Zeichen ermöglicht. Zum Beispiel: die Konstante \n
steht für das Zeichen „Zeilenvorschub“.
Ein Backslash in Kombination mit oktalen oder hexadezimalen Zahlen repräsentiert den ASCII- oder Steuercode, der diesem Wert entspricht, z.B. '\03'
für CTRL-C oder '\x3F'
für das Fragezeichen. Eine Escape-Sequenz kann einen String mit bis zu drei oktalen oder beliebig vielen hexadezimalen Ziffern umfassen, vorausgesetzt, der Wert liegt im zulässigen Bereich des Datentyps char (0
bis 0xff
in). Größere Zahlen liefern den Compilerfehler Numerische Konstante zu groß
. Die Oktalzahl \777
ist zum Beispiel größer als der zulässige Höchstwert \377
und ergibt somit einen Fehler. Das erste nicht-oktale oder nicht-hexadezimale Zeichen in einer oktalen oder hexadezimalen Escape-Sequenz markiert das Ende der Sequenz.
Sehen Sie dieses Beispiel:
printf("\x0072.1 A Simple Operating System");
Diese Zeile soll als "\x007"
und "2.1 A Simple Operating System"
interpretiert werden. Im Compiler wird "\x0072"
jedoch als hexadezimale Zahl und ".1A Simple Operating System"
als literaler String interpretiert.
Zur Umgehung derartiger Probleme sollte die Programmzeile folgendermaßen neu geschrieben werden:
printf("\x007" "2.1 A Simple Operating System");
Mehrdeutigkeiten entstehen auch, wenn auf eine oktale Escape-Sequenz eine nicht-oktale Ziffer folgt. Da 8
und 9
unzulässige oktale Ziffern sind, würde z.B. die Konstante \258
als Zwei-Zeichen-Konstante interpretiert, die sich aus den zwei Zeichen \25
und 8
zusammensetzt.
In der folgenden Tabelle sind alle Escape-Sequenzen zusammengefasst.
Escape-Sequenzen
Anmerkung: Sie müssen den (typischerweise in Pfadnamen verwendeten) Backslash verdoppeln (also
\\
angeben), um ihn als ANSI-Backslash gelten zu lassen.
Sequenz |
Wert |
Zeichen |
Bedeutung |
\a |
0x07 |
BEL |
Alarmton |
\b |
0x08 |
BS |
Backspace |
\f |
0x0C |
FF |
Seitenvorschub |
\n |
0x0A |
LF |
Zeilenvorschub |
\r |
0x0D |
CR |
Wagenrücklauf |
\t |
0x09 |
HT |
Tabulator (horizontal) |
\v |
0x0B |
VT |
Tabulator (vertikal) |
\\ |
0x5c |
\ |
Backslash (umgekehrter Schrägstrich) |
\' |
0x27 |
' |
Einfaches Anführungszeichen (Apostroph) |
\" |
0x22 |
" |
Doppeltes Anführungszeichen |
\? |
0x3F |
? |
Fragezeichen |
\O |
beliebig |
| |
\xH |
beliebig |
| |
\XH |
beliebig |
|