Sekwencje unikowe
Kombinacje znaków składające się z odwrotnego ukośnika (\) i następującej po nim litery lub kombinacji cyfr są nazywane "sekwencjami ucieczki". Do reprezentowania znaku nowego wiersza, pojedynczego znaku cudzysłowu lub niektórych innych znaków w stałych znakowych, musisz użyć sekwencji ucieczki.Sekwencja ucieczki jest prawidłową stałą znakową, ponieważ jest traktowana jako pojedynczy znak.
Sekwencje ucieczki są zazwyczaj używane do określania akcji takich jak powrót karetki czy ruch tabulatora na terminalach i drukarkach.Są one również używane, aby dostarczyć literałową reprezentację znaków niedrukowalnych oraz znaków, które mają zwykle specjalne znaczenie, tak jak podwójny znak cudzysłowu (").W poniższej tabeli wypisano sekwencje ucieczki ANSI oraz co reprezentują.
Zauważ, że znak zapytania poprzedzony ukośnikiem odwrotnym (\?) określa literał znaku zapytania w przypadkach, gdy sekwencja znaków może zostać błędnie zinterpretowana jako trójznak.Aby uzyskać więcej informacji, zobacz Trójznaki.
Sekwencje unikowe
Sekwencja unikowa |
Reprezentuje |
---|---|
\a |
Dzwonek (alert) |
\b |
Backspace |
\f |
Formfeed |
\n |
Nowy wiersz |
\r |
Powrót karetki |
\t |
Tabulator poziomy |
\v |
Tabulator pionowy |
\' |
Znak pojedynczego cudzysłowu |
\" |
Podwójny cudzysłów |
\\ |
Ukośnik odwrotny |
\? |
Literał znaku zapytania |
\ooo |
Znak ASCII w notacji ósemkowej |
\xhh |
Znak ASCII w notacji szesnastkowej |
\xhhhh |
Znak Unicode w notacji szesnastkowej (jeśli sekwencja ucieczki została użyta jako stała ze znaków dwubajtowych lub ciąg literałowy Unicode). Na przykład, WCHAR f = L'\x4e00' lub WCHAR b[] = L"The Chinese character for one is \x4e00". |
Specyficzne dla firmy Microsoft
Jeśli ukośnik odwrotny poprzedza znak, który nie pojawił się w powyższej tabeli, kompilator obsłuży niezdefiniowany znak jako sam znak.Na przykład, \c jest traktowane jako c.
KONIEC informacji specyficznych dla firmy Microsoft
Sekwencje ucieczki umożliwiają wysyłanie niegraficznych znaków kontrolnych do urządzenia wyświetlającego.Na przykład, znak ESC (\033) jest często używany jako pierwszy znak polecenia sterującego dla terminalu lub drukarki.Niektóre sekwencje ucieczki są specyficzne dla urządzenia.Na przykład, sekwencje ucieczki tabulatora pionowego i nowej strony (formfeed) (\v i \f) nie wpływają na wyniki widoczne na ekranie, ale wykonują odpowiednie operacje drukarki.
Możesz również użyć ukośnika odwrotnego (\) jako znaku kontynuacji.Kiedy znak nowego wiersza (odpowiednik naciśnięcia klawisza Return) następuje natychmiast po ukośniku odwrotnym, kompilator ignoruje zarówno ukośnik odwrotny, jak i znak nowego wiersza, a następny wiersz traktuje jako część poprzedniego wiersza.Jest to przydatne głównie przy definicjach preprocesora dłuższych niż pojedynczy wiersz.Na przykład:
#define assert(exp) \
( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )