|
LibTRO 0
Uma biblioteca com funções semelhantes às do C para fins educacionais na Eletrônica, IF Sul Pelotas.
|
Os especificadores de formato são muito inspirados nos especificadores de formato padrões do C. Porém algumas adições, remoções e modificações foram feitas, então TODOS os especificadores de formatos estão devidamente documentados aqui!
O único especificador de formato é:
É possível usar as flags - e # (não ao mesmo tempo), sendo - para ajustar o lado de justificação e # para repetir o caractere, devem estar em conjunto com a largura do campo e funciona assim:
Formatação
Resultado
Embora %c espere um tro_urune e o exemplo acima usou um literal de caractere de 32-bits você pode tranquilamente usar o literal de caractere comum e o literal de caractere de 16-bits:
Inclusive, variáveis que não são do tipo tro_urune ainda sim são promovidos quando passados como argumentos:
Para formatação de strings, existem dois especificadores:
É possível usar a flag - em conjunto com a largura do campo para criar coisas assim:
Formatação
Resultado
Para formatação de números inteiros, há os seguintes especificadores:
Tabela de modificadores de tamanho em ordem crescente:
| Modificador | Spec d/i | Spec u/x/X/o |
|---|---|---|
| hh | signed char | unsigned char |
| h | short (signed short) | unsigned short |
| nenhum | int (signed int) | unsigned int |
| l | long (signed long) | unsigned long |
| ll | long long (signed long long) | unsigned long long |
| j | intmax_t | uintmax_t |
| z | versão signed do size_t | size_t |
| t | ptrdiff_t | versão unsigned do |
ptrdiff_t| E assim se utiliza:
Formatação
Resultado
Existem as flags, +, - e 0 junto com com a largura do campo para personalizar a formatação dos números, sendo + para o número sempre apresentar sinal, - para para ajustar o lado de justificação e 0 para preencher os espaços em branco com '0' no lugar de ' ':
Formatação
Resultado
Ou:
Formatação
Resultado
Para formatação de números de ponto flutuante, há os seguintes especificadores:
O único modificador de tamanho é L, sendo assim:
Também é possível especificar a precisão em casas decimais de fração usando . seguido por um número.
As flags disponíveis são +, -, # e 0, sendo:
- e 0 trabalham em conjunto com a largura do campo.
Utiliza-se assim:
Formatações
Resultados
No lugar de um número, você pode usar um *, e a função usará um unsigend int passado como argumento para determinar o número da largura ou da precisão:
Formatações
Resultados
Quando uma função falha em formatar algo ela não vai indicar nenhum erro em retorno, em vez disso, ela substitui a parte desconhecida com o caractere u'␀' e segue normalmente:
Formatação
Resultado