Eine Escape Sequenz wird immer durch \ eingeleitet. Sie wird dazu verwendet, innerhalb von Zeichenketten besondere Zeichen darzustellen. Hier eine kleine Liste
| Sequenz | Resultat |
|---|---|
| \' | ' |
| \" | " |
| \? | ? (man darf allerdings auch nur ? schreiben - das \ davor ist optional) |
| \\ | \ |
| \a | alert (ein Signalton) |
| \b | backspace |
| \f | form feed |
| \n | newline (line feed) |
| \r | carriage return |
| \t | tabulator |
| \v | vertikal tabulator |
Ein Zeilenumbruch wird unter Windows in wirklichkeit als \r\n (CRLF) dargstellt. Unter Unix bleibt es \n und auf einem Mac wird es zu \r. Diese Darstellung ist intern, dh wenn wir cout<<"\n"; schreiben, wird das \n automatisch in die passende Darstelluneg konvertiert. Genauso beim auslesen. Einen Unterschied macht es nur dann, wenn wir nicht im 'Textmodus' arbeiten, sondern im 'Binary Modus'. Den 'Binary Modus' verwendet man dann, wenn man mit Roh-Daten arbeitet, also zB Daten übers Netzwerk verschickt.
Es gibt noch weitere Escape Sequenzen: für Oktal und Hexadezimal. Wenn wir "\012" schreiben, wird das Zeichen mit dem ASCII Wert 10 ausgegeben (Oktal 12 ist Dezimal 10), welcher \n ist (also ein Zeilenumbruch). Wenn wir "\xA" schreiben, dann wird auch ein Zeilenumbruch ausgegeben, denn Hexadezimal A ist gleich Dezimal 10. Das 'x' gibt an, dass es sich um eine Hexadezimalzahl handelt, wenn es kein 'x' gibt, handelt es sich um eine oktale Zahl.