double arrow

ESC- последовательности

ESC- последовательности- это специальные символьные комби­нации, которые представляют пробельные символы и неграфические символы в строках и символьных константах.

Их типичное использование связано со спецификацией таких действий, как возврат каретки и табуляция , а также для задания литеральных представлений символов, таких как символ двойная кавычка. ESC-последовательность состоит из наклон­ной черты влево, за которой следует буква, знаки пунктуации ' " \ или комбинация цифр. В таблице 2.2. приведен список ESC- последо­вательностей языка Си.

-------------------------------------------------

ESC- последовательность Наименование

-------------------------------------------------

\n Новая строка

\t Горизонтальная табу-

ляция

\v Вертикальная табуля-

ция

\b Пробел

\r Возврат каретки

\f Новая страница

\a Звонок(сигнал)

\' Одиночная кавычка

\" Двойная кавычка

\\ Наклонная черта влево

\ddd ASCII символ в восьми-

ричном представлении

\xdd ASCII символ в шестнад-

цатиричном представлении

Табл. 2.2. ESC- последовательности

Если наклонная черта влево предшествует символу, не вклю­ченному в этот список, то наклонная черта влево игнорируется, а символ представляется как литеральный. Например, изображение \c

представляет символ "c" в литеральной строке или константе-симво­ле.

Последовательности \ddd и \xdd позволяют задать любой сим­вол в ASCII (Американский стандартный код информационного интер­фейса) как последовательность трех восьмеричных цифр или двух ше­стнадцатеричных цифр. Например, символ пробела может быть задан как \010 или \x08. Код ASCII "нуль" может быть задан как \0 или \x0 . В восьмеричной ESC- последовательности могут быть исполь­зованы от одной до трех восьмеричных цифр.

Например, символ пробела может быть задан как \10 . Точно так же в шестнадцатеричной ESC- последовательности могут быть ис­пользованы от одной до двух шестнадцатеричных цифр. Так, шестнад­цатеричная последовательность для символа пробела может быть за­дана как \x08 или \x8 .

Замечание:

Когда используется восьмеричная или шестнадцатеричная ESC­последовательность в строках, то нужно полностью задавать все цифры ESC- последовательности (три цифры для восьмеричной и две цифры для шестнадцатеричной ESC- последовательностей). Иначе, ес­ли символ непосредственно следующий за ESC- последовательностью, случайно окажется восьмеричной или шестнадцатеричной цифрой, то он проинтерпретируется как часть последовательности. Например, строка \x7Bell при выводе на печать будет выглядеть как {ell , поскольку \x7B проинтерпретируется как символ левой фигурной скобки({) . Строка \x07Bell будет правильным представлением сим-

вола "звонок" с последующим словом Bell.

ESC- последовательности позволяют посылать неграфические управляющие символы к внешним устройствам. Например, ESC- после­довательность\033 часто используется как первый символ команд уп­равления терминалом и принтером. Неграфические символы всегда должны представляться ESC-последовательностями, поскольку, непос­редственное использование в программах на Си неграфических симво­лов будет иметь непредсказуемый результат.

Наклонная черта влево (\) помимо определения ESC-последова­тельностей используется также, как символ продолжения строки в препроцессорных определениях.

Если символ "новая строка" следует за наклонной чертой вле­во, то новая строка игнорируется и следующая строка рассматрива­ется, как часть предыдущей строки.


Сейчас читают про: