English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O sinalizador de formatação é uma string usada nas funções de entrada e saída formatadas. A string de formatação determina o formato da entrada e saída. A string de formatação sempre começa com o caractere "%%".
Instruções de conversão | Saída |
%a | Número decimal de ponto flutuante, números hexadecimais e p-Sistema de numeração (C99) |
%A | Número decimal de ponto flutuante, números hexadecimais e P-Sistema de numeração (C99) |
%c | Um caractere |
%d | Número inteiro de ponto decimal |
%e | Número decimal de ponto flutuante, e-Sistema de numeração |
%E | Número decimal de ponto flutuante, E-Sistema de numeração |
%f | Número decimal de ponto flutuante |
%g | Escolhe automaticamente %f ou %e com base no valor numérico. O formato %e é usado quando o expoente é menor-4ou usar quando maior ou igual à precisão |
%G | Escolhe automaticamente %f ou %E com base no valor numérico. O formato %E é usado quando o expoente é menor-4ou usar quando maior ou igual à precisão |
%i | Número inteiro de ponto decimal (igual a %d) |
%o | inteiro octal sem sinal |
%p | ponteiro (ou seja, endereço) |
%s | string |
㩵n | inteiro decimal sem sinal |
%%x | inteiro hexadecimal sem sinal usando o número hexadecimal 0f |
%%X | inteiro hexadecimal sem sinal usando o número hexadecimal 0F |
%% | imprime um sinal de porcentagem |
Modificador | Significado |
sinais | cinco sinais (-e+e 0) serão descritos na tabela três, podem ser usados zero ou mais sinais |
digit(s) | valor mínimo da largura do campo. Se o campo não puder conter o número ou string a ser impresso, o sistema usará um campo mais amplo. Exemplo: "4d” |
.digit(s) | precisão. Para as conversões %%e, %%E e %%f, é o número de dígitos a ser impresso à direita do ponto decimal. Para as conversões %%g e %%G, é o número máximo de dígitos significativos. Para a conversão %%s, é o número máximo de caracteres a serem impressos. Para as conversões de inteiros, é o número mínimo de dígitos a serem impressos; se necessário, usar zeros à esquerda para alcançar esse número de dígitos. Usa-se apenas "."indica que segue um zero, então %%f é equivalente a %%0f. Exemplo: "5.2imprime um número flutuante, cuja largura do campo é5f |
caracteres, com dois números após o ponto decimal. | usado junto com o sinal de conversão de inteiro, para representar umh long int short int unsigned char unsigned short int6.4Exemplo: "%%hu", "%%hx" e " |
hh | usado junto com o sinal de conversão de inteiro, para representar umhd long intsigned charunsigned char valor do tipo.6.4Exemplo: "%%hhu", "%%hhx" e " |
%%hhd" e " | j usado junto com o sinal de conversão de inteiro, para representar um valor intmax_t ou uintmax_t.8Exemplo: "%%jd" e " |
jX | lul long intou unsigned long int valor do tipo.8Exemplo: "%%ld" e " |
ll | luusado junto com o sinal de especificação de inteiro, para representar umlong long int ou unsigned long long int99) valor do tipo (C8%%llu" e " |
L | usado junto com o sinal de conversão de ponto flutuante, para representar umlong doublevalor. Exemplo: "%%Lf" e "%%"10.4Le |
t | usado junto com o sinal de conversão de inteiro, para representar um valor ptrdiff_t (o tipo correspondente à diferença entre dois ponteiros) (C99) Exemplo: "%%td" e "%%12ti" |
z | usado junto com o sinal de conversão de inteiro, para representar umsize_tvalor(sizeof retorna o tipo) (C99) Exemplo: "%%zd" e "%%12"zx" |
Modificador | Significado |
- | O projeto está alinhado à esquerda, o que significa que os projetos serão impressos no início da coluna do campo. Exemplo: "%%"-20s |
+ | Se o valor sinalizado for positivo, ele será exibido com um sinal de mais; se for negativo, ele será exibido com um sinal de menos. Exemplo: “%”+6.2f” |
(espaço) | Se o valor sinalizado for positivo, ele será exibido com um espaço à esquerda (mas não será exibido o sinal); se for negativo, ele será exibido com um sinal de menos.+O sinal será sobreposto ao sinal de espaço. Exemplo: “%” 6.2f” |
# | Use a forma opcional do sinal de conversão. Se for o formato %o, comece com 0; se for o formato %x e %X, comece com 0x ou 0X, para todos os formatos de ponto flutuante, # garante que seja impresso um ponto decimal, mesmo que não haja números. Para os formatos %g e %G, ele impede que zeros não significativos sejam removidos. Exemplo: “%#o”, “%#”8.0f” e “%+#10.3E” |
0 | Para todos os formatos numéricos, preencha o campo com zeros à esquerda em vez de espaços. Se ocorrer-Se houver um sinal ou especificado a precisão (para inteiros) então ignore esse sinal. Exemplo: “%010d” e “%08.3f” |
Sinal de conversão | Significado |
%c | Interprete a entrada como um caractere |
%d | Interprete a entrada como um inteiro decimal sinalizado |
%e, %f, %g, %a | Interprete a entrada como um número flutuante (%a é C99Padrão) |
%E, %F, %G, %A | Interprete a entrada como um número flutuante (%A é C99Padrão) |
%i | Interprete a entrada como um inteiro decimal sinalizado |
%o | Interprete a entrada comoSinalizadoNúmero octal |
%p | Interprete a entrada como um ponteiro (endereço) |
%s | |
㩵n | Interprete a entrada como um inteiro decimal não sinalizado |
%x, %X | Interprete a entrada comoSinalizadoInteiros hexadecimais |
Modificador | Significado |
* | Atribuição em atraso. Exemplo: “%”*d” |
digit(s) | Largura máxima do campo; pare de ler o item de entrada quando atingir a largura máxima do campo ou encontrar o primeiro caractere branco (o que ocorrer primeiro, seja qual for)。10s” |
hh | Leia o inteiro como signed char ou unsigned char. Exemplo: “%hhd”“%hhu” |
ll | Leia o inteiro como long long ou unsigned long long (C99)。Exemplo: “%lld”“%llu” |
h, l ou L | “%hd” e “%hi” indicam que o valor será armazenado em um short int. “%ho”“%hx” e “%hu” indicam que o valor será armazenado em um unsigned short int. “%ld” e “%li” indicam que o valor será armazenado em um long. “%lo”“%lx” e “%lu” indicam que o valor será armazenado em um unsigned long. “%le”“%lf” e “%lg” indicam que o valor é armazenado como tipo double. Use L (ao invés de l) com e, f e g para indicar que o valor é armazenado como tipo long double. Se não houver esses modificadores, d, i, o e x indicam o tipo int, enquanto e, f e g indicam o tipo float. |