Escape-reeksen

Tekencombinaties die bestaan uit een backslash (\) gevolgd door een letter of een combinatie van cijfers, worden escape-reeksen genoemd. Als u een nieuw regelteken, één aanhalingsteken of bepaalde andere tekens in een tekenconstante wilt weergeven, moet u escapereeksen gebruiken. Een escapereeks wordt beschouwd als één teken en is daarom geldig als een tekenconstante.

Escapereeksen worden doorgaans gebruikt om acties op te geven, zoals regelterugloop en tabbewegingen op terminals en printers. Ze worden ook gebruikt om letterlijke representaties te bieden van niet-afdrukbare tekens en tekens die meestal speciale betekenissen hebben, zoals het dubbele aanhalingsteken ("). De volgende tabel bevat de ANSI-escapereeksen en wat ze vertegenwoordigen.

Het vraagteken voorafgegaan door een backslash (\?) geeft een letterlijk vraagteken op in gevallen waarin de tekenreeks verkeerd wordt geïnterpreteerd als een trigraaf. Zie Trigraphs voor meer informatie.

Escape-reeksen

Escape-reeks Represents
\een Bel (waarschuwing)
\b Backspatie
\f Formulierfeed
\n Nieuwe regel
\r Regelterugloop
\t Horizontaal tabblad
\v Verticaal tabblad
\' Enkel aanhalingsteken
\" Dubbel aanhalingsteken
\\ Backslash
\? Letterlijk vraagteken
\ ooo ASCII-teken in octale notatie
\xuu ASCII-teken in hexadecimale notatie
\xuuhh Unicode-teken in hexadecimale notatie als deze escapereeks wordt gebruikt in een brede tekenconstante of een letterlijke Unicode-tekenreeks.

Een voorbeeld hiervan is WCHAR f = L'\x4e00' of WCHAR b[] = L"The Chinese character for one is \x4e00".

Microsoft-specifieke

Als een backslash voorafgaat aan een teken dat niet in de tabel wordt weergegeven, verwerkt de compiler het niet-gedefinieerde teken als het teken zelf. Wordt bijvoorbeeld \c behandeld als een c.

Microsoft-specifieke beëindigen

Met escapereeksen kunt u niet-grafische besturingstekens verzenden naar een weergaveapparaat. Het ESC-teken (\033) wordt bijvoorbeeld vaak gebruikt als het eerste teken van een besturingsopdracht voor een terminal of printer. Sommige escapereeksen zijn apparaatspecifiek. De escapereeksen voor verticale tab- en formulierfeeds (\v en \f) hebben bijvoorbeeld geen invloed op schermuitvoer, maar voeren wel de juiste printerbewerkingen uit.

U kunt de backslash (\) ook gebruiken als vervolgteken. Wanneer een nieuw regelteken (gelijk aan het drukken op de RETURN-toets) direct volgt op de backslash, negeert de compiler de backslash en het nieuwe regelteken en behandelt de volgende regel als onderdeel van de vorige regel. Dit is vooral handig voor preprocessordefinities die langer zijn dan één regel. Voorbeeld:

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

Zie ook

C-tekenconstanten