Sequências de escape

Combinações de caracteres que consistem em uma barra invertida (\) seguida de uma letra ou de uma combinação de dígitos são chamadas de "sequências de escape". Para representar um caractere de nova linha, uma aspa única ou outros caracteres em uma constante de caracteres, é necessário usar sequências de escape. Uma sequência de escape é considerada um único caractere e, portanto, é válida como uma constante de caractere.

Geralmente, as sequências de escape são usadas para especificar ações como retornos de carro e movimentos de tabulação em terminais e impressoras. Também são usadas para fornecer representações literais de caracteres não imprimíveis e de caracteres que normalmente têm significados especiais, como as aspas duplas ("). A tabela a seguir lista as sequências de escape ANSI e o que elas representam.

Observe que o ponto de interrogação precedido por uma barra invertida (\?) especifica um ponto de interrogação literal nos casos em que a sequência de caracteres seria interpretada incorretamente como um trígrafo. Consulte Trígrafos para obter mais informações.

Sequências de escape

Sequência de escape Representa
\a Campainha (alerta)
\b Backspace
\f Avanço de formulário
\n Nova linha
\r Retorno de carro
\t Guia horizontal
\v Guia vertical
\' Aspas simples
\" Aspas duplas
\\ Barra invertida
\? Ponto de interrogação literal
\ooo Caractere ASCII em notação octal
\xhh Caractere ASCII em notação hexadecimal
\xhhhh Caractere Unicode em notação hexadecimal, se esta sequência de escape é usada em uma constante de caractere largo ou uma literal de cadeia de caracteres Unicode.

Por exemplo, WCHAR f = L'\x4e00' ou WCHAR b[] = L"The Chinese character for one is \x4e00".

Seção específica da Microsoft

Se uma barra invertida precede um caractere que não consta da tabela, o compilador trata o caractere indefinido como o próprio caractere. Por exemplo, \c é tratado como c.

Fim da seção específica da Microsoft

As sequências de escape permitem que você envie caracteres de controle não gráficos a um dispositivo de exibição. Por exemplo, o caractere de ESC (\033) costuma ser usado como o primeiro caractere de um comando de controle para um terminal ou uma impressora. Algumas sequências de escape são específicas ao dispositivo. Por exemplo, as sequências de escape de tabulação vertical e de avanço de página (\v e \f) não afetam a saída da tela, mas executam operações de impressora apropriadas.

Também é possível usar a barra invertida (\) como um caractere de continuação. Quando um caractere de nova linha (equivalente a pressionar a tecla RETURN) vem logo após a barra invertida, o compilador ignora a barra invertida e o caractere de nova linha e trata a próxima linha como parte da linha anterior. Isso é útil principalmente para definições de pré-processador que ocupam mais do que uma única linha. Por exemplo:

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

Confira também

Constantes de caractere C