Řídicí sekvence
Kombinace znaků obsahující zpětné lomítko (\) následované písmenem nebo kombinací číslic, jsou označovány jako "escape sekvence." Pro zapsání znaku nového řádku, jednoduchých uvozovek nebo určitých jiných znaků ve znakových konstantách, je nutné použít escape sekvence.Escape sekvence je považována za jeden znak a proto je platná jako znaková konstanta.
Escape sekvence se obvykle používají k určení akce, jako například návrat na začátek řádku a pohyb tabelátoru na terminálech a tiskárnách.Také se používají pro literální reprezentaci netisknutelných znaků a znaků, které mají obvykle zvláštní význam, jako jsou například dvojité uvozovky (").V následující tabulce jsou uvedeny escape sekvence ANSI a co představují.
Je nutné poznamenat, že otazníku předchází znak zpětného lomítka (\?) pro určení literálu otazníku v případech, kdy může být posloupnost znaků špatně interpretována jako triplet.Pro více informací o tématu, viz Triplety.
Řídicí sekvence
Řídicí sekvence |
Představuje |
---|---|
\a |
Zvonek (oznámení) |
\b |
Backspace |
\f |
Formfeed |
\n |
Nový řádek |
\r |
Návrat na začátek řádku |
\t |
Horizontální tabelátor |
\v |
Vertikální tabulátor |
\' |
Jednoduché uvozovky |
\" |
Dvojité uvozovky |
\\ |
Zpětné lomítko |
\? |
Literální znak otazníku |
\ooo |
Znak ASCII v osmičkové soustavě |
\xhh |
Znak ASCII v šestnáctkové soustavě |
\xhhhh |
Znak Unicode v šestnáctkovém zápisu, pokud je tato escape sekvence použita v širokoznaké konstantě nebo literálu řetězce kódování Unicode. Například WCHAR f = L'\x4e00' nebo WCHAR b[] = L"The Chinese character for one is \x4e00". |
Specifické pro Microsoft
Pokud zpětné lomítko předchází znaku, který není uveden v tabulce, kompilátor zpracovává nedefinovaný znak jako znak samotný.Například s \c se zachází jako s c.
Specificka produktu Microsoft END
Escape sekvence umožňují odeslat negrafické řídicí znaky na zobrazovací zařízení.Například znak ESC (\033) se často používá jako první znak ovládacího příkazu pro terminál nebo tiskárnu.Některé escape sekvence jsou specifické pro zařízení.Například escape sekvence vertikálního tabelátoru a formfeed (\v a \f) nemají vliv na výstup obrazovky, ale provádějí příslušné operace při tisku.
Je také možné použít zpětné lomítko (\) jako znak pro pokračování.Když znak nového řádku (ekvivalentní stisknutí klávesy Enter) okamžitě následuje lomítko, kompilátor ignoruje zpětné lomítko a znak nového řádku a považuje nový řádek za součást předchozího řádku.To je užitečné především pro definice preprocesoru delší než jeden řádek.Příklad:
#define assert(exp) \
( (exp) ? (void) 0:_assert( #exp, __FILE__, __LINE__ ) )