Tudo sobre Tecnologia da Informação

Sequências e Máscaras de Formatação

Sequências de Escape

Diversas linguagens de programação utilizam seqüências de escape. Elas servem geralmente para inserir um caractere especial numa string.

Veja algumas sequências de escape mais usadas:

Sequência de Escape Representa
\a Emitir Campainha
\b Backspace
\f Avanço de Página
\n Coloca o Cursor numa Nova Linha
\r Coloca o Cursor no Início da Linha Atual
\t Inserir Tabulação Horizontal
\v Inserir Tabulação Vertical
\' Aspas Simples
\" Aspas Duplas
\\ Barra Invertida
\? Ponto de Interrogação Literal
\ ooo Caractere ASCII em Notação Octal
\x hh Caractere ASCII em Notação Hexadecimal
\x hhhh Caractere Unicode em Notação Hexadecimal
\0 Caractere Delimitador de Final de String

Máscaras de Formatação

Essas são as máscaras de formatação, também usadas em diversas linguagens que contenham a saída "printf" (tipo C, C++, PHP e Java):

Máscara Tipo de Dado Descrição
%d int Número Inteiro Decimal com Sinal
%c char Caractere Único
%f float ou double Número Decimal (Real ou de Ponto Flutuante)
%i int Número Inteiro com Decimal (Diferentes na Entrada e Saída de Dados)
%ld long int Número Inteiro Longo
%e float ou double Número Real Exponencial (Científico)
%E float ou double Número Real Exponencial (Científico)
%o int Número Inteiro em Formato Octal sem Sinal
%x int Número Inteiro em Formato Hexadecimal sem Sinal. Caracteres de a a f
%X int Número Inteiro em Formato Hexadecimal sem Sinal. Caracteres de A a F
%u int Número Inteiro Decimal sem Sinal
%h ou %l --- Colocado Antes de um Especificador Inteiro para Indicar Valor Short ou Long
%L --- Colocado Antes de um Especificador de Ponto Flutuante para indicar valor Long Double
%s char Cadeia de Caracteres (String ou Ponto pra char)
%b boolean Valores Booleanos (Só Funciona em Java)
%p pointer Ponteiros (Só funciona em C e C++)

PS: Quando usar máscaras para strings (exceto no caso de variáveis), use sempre aspas simples nos valores caso as máscaras estejam dentro de aspas duplas, e vice-versa. Caso precise exibir um símbolo de porcentagem, use %% para exibir um símbolo desse.

Também podemos usar modificações nas máscaras especificando as precisões:

Máscara Modificação Descrição
%d %+d Mostra o Sinal de Positivo, se Houver
%d %.0d Completa com Zeros à Esquerda
%f %+f Mostra o Sinal de Positivo, se Houver
%f %.0f O Número Entre o Ponto e o f Será o Limite de sua Precisão
%o %#o Completa o Número Octal com Zero
%x %#x Mostra Indicador de Hexadecimal (0x)
%s %.0s Delimita a Quantidade de Caracteres Exibidos

PS: Para pré-definir o tamanho de um campo, podemos colocar o número com os espaços desejados entre o número e o especificador, como por exemplo, %4c. Se o valor à ser mostrado for menor, será alinhado à direita (ou à esquerda, se usarmos valores negativos) e o restante será ocupado por espaços (que sempre serão os mesmos). Se for maior, só exibirá os primeiros caracteres à ocuparem os campos.

Podemos também combinar os tamanhos de campos com as precisões, como por exemplo %10.5d. No caso, o primeiro número é o tamanho e o segundo é a precisão.