Escape-последовательности
Сочетания символов, состоящих из косой черты (\), за которой следует буква или набор цифр, называются escape-последовательностями. Для представления знака новой строки, одиночной кавычки или некоторых других символов в символьной константе, необходимо использовать escape-последовательности. Escape-последовательность рассматривается как один символ и, следовательно, является допустимой символьной константой.
Escape-последовательности обычно используются для указания действий, например возврата каретки или табуляции, на терминалах и принтерах. Они также используются для предоставления буквенных представлений непечатаемых символов, а также символов, которые обычно имеют специальное значение, например двойных кавычек ("). В следующей таблице перечислены escape-последовательности ANSI и представляемые ими значения.
Обратите внимание, что вопросительный знак, перед которым стоит обратная косая черта (\?), обозначает литерал вопросительного знака в таких случаях, когда последовательность символов может быть ошибочно интерпретирована как триграф. Дополнительные сведения см. в разделе Триграфы.
Escape-последовательность
Escape-последовательность |
Представляет |
---|---|
\a |
Звонок (предупреждение) |
\b |
Backspace |
\f |
Перевод страницы |
\n |
Новая строка |
\r |
Возврат каретки |
\t |
Горизонтальная табуляция |
\v |
Вертикальная табуляция |
\' |
Одиночная кавычка |
\" |
Двойная кавычка |
\\ |
Обратная косая черта |
\? |
Литерал вопросительного знака |
\ooo |
Символ ASCII в восьмеричной нотации |
\xhh |
Символ ASCII в шестнадцатеричной нотации |
\xhhhh |
Символ юникода в шестнадцатеричном формате, если эта escape-последовательность используется в многобайтовой знаковой константе или строковом литерале юникода. Например, WCHAR f = L'\x4e00' или WCHAR b[] = L"The Chinese character for one is \x4e00". |
Блок, относящийся только к системам Microsoft
Если обратная косая черта предшествует символу, которого нет в таблице, компилятор не обрабатывает неопределенный символ сам как символ. Например, escape-последовательность \c обрабатывается как символ c.
Завершение блока, относящегося только к системам Microsoft
Escape-последовательности позволяют отправлять неграфические управляющие символы на устройство отображения. Например, символ ESC (\033) часто используется в качестве первого символа команды элемента управления для терминала или принтера. Некоторые escape-последовательности используются только на конкретных устройствах. Например, escape-последовательности вертикальной табуляции и перевода страницы (\v и \f) не влияют на вывод на экране, но на принтере выполняют определенные операции.
Кроме того, обратную косую черту (\) можно использовать как символ продолжения. Если сразу за обратной косой чертой следует символ новой строки (эквивалентен нажатию клавиши ВОЗВРАТ), компилятор игнорирует эту последовательность и обрабатывает следующую строку как продолжение предыдущей. Эта возможность используется в основном для определений препроцессора, длина которых превышает одну строку. Например:
#define assert(exp) \
( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )