Campos de especificação de formato: Funções de printf e wprintf
Este tópico descreve a sintaxe para especificações de formato de campos, usados em printf, wprintf e funções relacionadas. Mais versões seguras dessas funções estão disponível, consulte printf_s, _printf_s_l, wprintf_s, _wprintf_s_l. Para obter detalhes sobre as funções individuais, consulte a documentação para essas funções específicas.Para obter uma listagem completa dessas funções, consulte Fluxo de E/S.
Uma especificação de formato que consiste em campos obrigatórios e opcionais, tem a seguinte forma:
%[flags] [width] [.precision] [{h | l | ll | I | I32 | I64}tipo
Cada campo da especificação do formato é um único caractere ou um número, significando tratar uma opção de formato particular.A especificação de formato mais simples contém apenas o sinal de porcentagem e um type caractere (por exemplo, %s). Se um sinal de porcentagem for seguido de um caractere que não tem significado sistema autônomo um campo formato, o caractere será copiado para stdout. Por exemplo, para imprimir um caractere de sinal de porcentagem, use %%.
sistema autônomo campos opcionais, que aparecem antes o type caractere, controle outros aspectos da formatação, sistema autônomo segue:
type
Caracteres necessário determina se o associadoargumenté interpretado sistema autônomo um caractere, uma seqüência de caracteres ou um número (consulte a tabela "printf digitar caracteres de campo" printf digitar caracteres de campo).flags
Opcional caractere ou caracteres que controlam a justificação de saída e a impressão de sinais, espaços em branco, vírgulas Decimal e prefixos octais e hexadecimais (consulte a tabela "Caracteres sinalizar"sinalizar de diretivas). Mais de um sinalizar pode aparecer em uma especificação de formato.width
Número opcional que especifica o número mínimo de caracteres de saída (consulte Especificação de largura de printf).precision
Número opcional que especifica o número máximo de caracteres impressos para todo ou parte do campo de saída ou o número mínimo de dígitos impresso para valores inteiros (consulte a tabela "Como Precision valores afetam tipo"Especificação de precisão).h| l| ll| I| I32| I64
Prefixos opcionaistype-que especifique o dimensionar do argument(consulte a tabela "Prefixos de dimensionar" dimensionar e a especificação de distância).
Observação de segurança: |
---|
Certifique-se de que a especificação de formato cadeias de caracteres não são definidos pelo usuário.Por exemplo, considere um programa que solicita que o usuário digite seu nome e armazena a entrada em uma variável de seqüência denominada name.Para imprimir name, não faça isso: |
printf( name ); // Danger! If name contains "%s", program will crash
Observação: |
---|
Em vez disso, faça o seguinte: |
printf( "%s", name );
Consulte também
Referência
printf, _printf_l, wprintf, _wprintf_l