Escape-Sequenzen

Aus RAD Studio
Wechseln zu: Navigation, Suche

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

O = ein String mit 1 bis 3 Oktalziffern

\xH

beliebig

H = ein String mit Hex-Ziffern

\XH

beliebig

H = ein String mit Hex-Ziffern



Siehe auch