|
|
||
|
|
||
| .. Ersatzschreibweise für ASCII-Zeichen in C | ||
|
|
||
|
|
|
|
|
|
printf ("\"Ersatzzeichen\"");
|
|
|
..
hätte die gewünschte Wirkung. Auf dem Bildschirm
erscheint ..
"Ersatzzeichen" In dem String \Ersatzzeichen\ ersetzt \ die Gänsefüßchen. Man nennt \ das Ersatzzeichen für die Gänsefüßchen. Ein anderes Beispiel ist das Zeichen \ selber. Wie gerade gesehen, leitet es Ersatzzeichen ein, ist damit als selbständiges Zeichen auch nicht mehr verwendbar und muss selber ersetzt werden. In einem String wird das Zeichen \ zu \\. So mutieren Pfadangaben in C-Strings wie folgt .. |
||
string[] = "c:\\tc\\tc.exe\r\n";
printf ("Der Pfad lautet: %s", string); // oder
printf ("Der Pfad lautet: c:\\tc\\tc.exe\r\n");
|
||
|
Obiger
String würde auf dem Bildschirm zu ..
Der Pfad lautet: c:\tc\tc.exe .. was in der Tat eine gültige Pfadangabe ist. \r\n setzen dabei den Cursor auf Spalte 1 (\r) der nächsten Zeile (\n). Welche Ersatzzeichen es insgesamt in der Sprache C gibt, zeigt die nachfolgende Tabelle. |
||
|
|
|
|
|||
|
|
Tabelle der verfügbaren Ersatzzeichen (Escapesequenzen) in C |
|
|||
|
|
\b |
(BS) |
backspace |
bewegt den Cursor einen Schritt zurück |
|
|
|
\f |
(FF) |
formfeed |
Seitenvorschub z.B. bei einem Drucker |
|
|
|
\n |
(LF) |
linefeed |
Zeilenvorschub z.B. bei einem Drucker oder auf dem Bildschirm |
|
|
|
\r |
(CR) |
Crriage return |
Wagenrücklauf, oder Cursor zur ersten Position der Zeile |
|
|
|
\t |
(HT) |
tabulator |
Cursor zum nächsten horizontalen Tabulator |
|
|
|
\v |
(VT) |
tabulator |
Cursor zum nächsten vertikalen Tabulator |
|
|
|
\a |
(BEL) |
signal |
gibt einen Signalton über den Lautsprecher aus |
|
|
|
\\ |
(\) |
backslash |
Gegenschrägstrich in den Text einfügen. |
|
|
|
|
|
|
Achtung: eine Pfadangabe im C-String lautet deswegen "c:\\TC\\TC.EXE" |
|
|
|
\? |
(?) |
|
Fragezeichen in den Text einfügen |
|
|
|
\' |
(') |
|
Hochkomma in den Text einfügen |
|
|
|
\" |
(") |
|
Anführungsstriche in den Text einfügen |
|
|
|
\0 |
(NUL) |
|
Stringende kennzeichnen (Sonderfall von okt ASCII) |
|
|
|
\ooo |
|
okt ASCII |
Zeichen mit dem oktal angegebenen ASCII-Code in den Text einfügen. ooo steht für eine 3-stellige oktale Zahl. (heutzutage relativ selten benutzt) |
|
|
|
\xhh |
|
hex ASCII |
Zeichen mit dem hexadezimal angegebenen ASCII-Code in den Text einfügen. hh steht für eine 2-stellige hexadezimale Zahl. |
|
|
|
|
|
| Probleme mit dem Ersatzzeichen \xhh bei Compilern Es gibt Compiler, die mit der Auswertung des Ersatzzeichens \xhh für zweistellige hexadezimale Zahlen in der Weise Probleme haben, als sie nachfolgende Zeichen, die als Ziffern (dezimal od. hexadezimal) gewertet werden können, mit zu der auszuwertenden zweistelligen Ziffernfolge hinzuschlagen. z.B.: \x1BAffe gemeint als ESC Affe und nicht als 1Bh, AFh, Feh. Tritt diese Fehlinterpretation bei einem Compiler auf, sollte man den String wie folgt unterteilen \x1B Affe. Compiler fügen derart unterteilte Strings zusammen und es entsteht tatsächlich die gewünschte Abfolge 1Bh 41h 66h 66h 65h -> ESC Affe. | ||
|
|
.de