Udostępnij za pośrednictwem


Sekwencje unikowe

Kombinacje znaków składające się z ukośnika odwrotnego (\), a następnie litery lub kombinacji cyfr są nazywane "sekwencjami ucieczki". Aby reprezentować znak nowego wiersza, pojedynczy cudzysłów lub niektóre inne znaki w stałej znaku, należy użyć sekwencji ucieczki. Sekwencja ucieczki jest uważana za pojedynczy znak i dlatego jest prawidłowa jako stała znaków.

Sekwencje ucieczki są zwykle używane do określania akcji, takich jak powroty karetki i ruchy tabulatorów na terminalach i drukarkach. Są one również używane do zapewniania reprezentacji literałów znaków niedrukujących i znaków, które zwykle mają specjalne znaczenie, takie jak podwójny cudzysłów ("). W poniższej tabeli wymieniono sekwencje ucieczki ANSI i ich reprezentacje.

Zwróć uwagę, że znak zapytania poprzedzony ukośnikiem odwrotnym (\?) określa znak zapytania literału w przypadkach, gdy sekwencja znaków zostanie błędnie zinterpretowana jako trigraf. Aby uzyskać więcej informacji, zobacz Trigraphs .

Sekwencje unikowe

Sekwencja unikowa Reprezentuje
\a Dzwonek (alert)
\b Backspace
\f Źródło danych formularzy
\n Nowy wiersz
\r Powrót karetki
\t Karta Pozioma
\v Karta pionowa
\' Pojedynczy cudzysłów
\" Podwójny cudzysłów
\\ Ukośnik odwrotny
\? Znak zapytania literału
\ooo Znak ASCII w notacji ósemkowej
\x hh Znak ASCII w notacji szesnastkowej
\x hhhhh Znak Unicode w notacji szesnastkowej, jeśli ta sekwencja ucieczki jest używana w stałej wieloznakowej lub literału ciągu 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 pojawia się w tabeli, kompilator obsługuje niezdefiniowany znak jako sam znak. Na przykład \c element jest traktowany cjako .

END Microsoft Specific

Sekwencje ucieczki umożliwiają wysyłanie znaków kontrolek niegraficznych do urządzenia wyświetlanego. 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 pionowe karty i sekwencje ucieczki kanału formularza (\v i \f) nie mają wpływu na dane wyjściowe ekranu, ale wykonują odpowiednie operacje drukarki.

Możesz również użyć ukośnika odwrotnego (\) jako znaku kontynuacji. Gdy znak nowego wiersza (równoważny naciśnięciu RETURN) natychmiast następuje ukośnik odwrotny, kompilator ignoruje ukośnik odwrotny i znak nowego wiersza i traktuje następny wiersz w ramach poprzedniego wiersza. Jest to przydatne głównie w przypadku definicji preprocesora dłuższych niż pojedynczy wiersz. Na przykład:

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

Zobacz też

Stałe znakowe języka C