Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sekwencja \ooo oznacza, że można określić dowolny znak w zestawie znaków ASCII jako trzycyfrowy kod znaku ósemkowego. Liczbowa wartość ósemkowej liczby całkowitej określa wartość wymaganego znaku lub znak dwubajtowy.
Podobnie sekwencja \xhhh umożliwia określenie dowolnego znaku ASCII jako szesnastkowego kodu znaku. Można na przykład nadać znak zaplecza ASCII jako normalną sekwencję ucieczki języka C (\b) lub kodować jako \010 (ósemkowy) lub \x008 (szesnastkowy).
Można użyć tylko cyfr od 0 do 7 w ósemkowej sekwencji ucieczki. Ósemkowe sekwencje ucieczki nigdy nie mogą być dłuższe niż trzy cyfry i są zakończone pierwszym znakiem, który nie jest cyfrą ósemkową. Chociaż nie trzeba używać wszystkich trzech cyfr, należy użyć co najmniej jednej. Na przykład reprezentacja ósemkowa to \10 dla znaku backspace ASCII i \101 dla litery A, jak podano na wykresie ASCII.
Podobnie, należy użyć co najmniej jednej cyfry do szesnastkowej sekwencji ucieczki, ale można pominąć drugą i trzecią cyfrę. W związku z tym można określić sekwencję ucieczki szesnastkowej dla znaku backspace jako \x8, \x08 lub \x008.
Wartość ósemkowej lub szesnastkowej sekwencji ucieczki musi znajdować się w zakresie godnych reprezentowania wartości dla typu unsigned char
stałej znaku i typu wchar_t
dla stałej szerokoznakowej. Aby uzyskać informacje na temat stałych wielobajtowych i szerokich, zobacz Znaki wielobajtowe i szerokie.
W odróżnieniu od ósemkowych stałych wyjścia, nie ma limitu dotyczącego liczby cyfr szesnastkowych w sekwencji wyjścia. Szesnastkowa sekwencja ucieczki kończy się przy pierwszym znaku, który nie jest cyfrą szesnastkową. Ponieważ cyfry szesnastkowe zawierają litery od f, należy zachować ostrożność, aby upewnić się, że sekwencja ucieczki kończy się na zamierzonej cyfrze. Aby uniknąć nieporozumień, można umieścić definicje znaku ósemkowego lub szesnastkowego w definicji makra:
#define Bell '\x07'
W przypadku wartości szesnastkowych, można podzielić ciąg znaków w celu wyraźnego pokazania poprawnej wartości:
"\xabc" /* one character */
"\xab" "c" /* two characters */