English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Função do C

Array do C

Ponteiro do C

String do C

Biblioteca Padrão do C - <stdio.h>

*

 *

  • --

Descrição
-Alinhamento à esquerda dentro do comprimento do campo, padrão é à direita (ver subinstrução width).
+Força a exibição de um sinal (+ ou -) no início do resultado (ver parênteses).+ ou -),isto é, números positivos terão + número. Padrãomente, apenas números negativos terão um - número.
(espaço)Se nenhum símbolo for escrito, insira um espaço antes do valor.
Quando usado com os especificadores o, x ou X, valores não nulos são exibidos antes com 0, 0x ou 0X, respectivamente.
Quando usado com e, E e f, força a saída de um ponto decimal, mesmo que não haja números após ele. Padrãomente, se não houver números após ele, o ponto decimal não é exibido.
Quando usado com g ou G, o resultado é o mesmo que usar e ou E, mas os zeros ao final não são removidos.
0Coloca zero (0) à esquerda do número especificado para preenchimento padding, em vez de espaço (ver subinstrução width).

largura(largura)Descrição
(número)O número mínimo de caracteres a serem impressos. Se o valor impresso for menor que esse número, o resultado será preenchido com espaços. Se o valor impresso for maior que esse número, o resultado não será truncado.
*Largura não especificada na string format, mas será colocada como um valor inteiro adicional antes dos argumentos a serem formatados.

.precision (precisão)Descrição
.numberPara os especificadores de número inteiro (d, i, o, u, x, X): a precisão especifica o número mínimo de dígitos a serem escritos no número. Se o valor escrito for menor que esse número, o resultado será preenchido com zeros à esquerda. Se o valor escrito for maior que esse número, o resultado não será truncado. Uma precisão de 0 significa que nenhum caractere será escrito.
Para os especificadores e, E e f: o número de dígitos decimais a serem impressos após o ponto decimal.
Para os especificadores g e G: o número máximo de dígitos significativos a serem impressos.
Para o tipo s: o número máximo de caracteres a serem impressos. Por padrão, todos os caracteres são impressos até encontrar o caractere nulo final.
Para o tipo c: não tem efeito.
Quando não especificada, o padrão é 1.Se especificado sem um valor explícito, é assumido como 0.
.*A precisão não é especificada na string format, mas será colocada como um valor inteiro adicional antes dos argumentos a serem formatados.

Comprimento (length)Descrição
hO argumento é interpretado como um tipo short ou unsigned short (apenas para especificadores de número inteiro: i, d, o, u, x e X).
lO argumento é interpretado como um tipo long ou unsigned long, aplicável aos especificadores de número inteiro (i, d, o, u, x e X) e o especificador c (representando um caractere largura) e s (representando uma string de caracteres largura).
LO argumento é interpretado como um tipo long double (apenas para especificadores de número de ponto flutuante: e, E, f, g e G).
  • arg -- Um objeto que representa a lista de argumentos variáveis. Deve ser inicializado com a macro va_start definida em <stdarg>.

Retorno

Se for bem-sucedido, retorna o número total de caracteres escritos, caso contrário, retorna um número negativo.

Exemplo Online

O exemplo a seguir demonstra o uso da função vprintf().

Exemplo Online

#include <stdio.h>
#include <stdarg.h>

void WriteFrmtd40;char *format, ...41;
{
   va_list args;
   
   va_start40;args, format41;;
   vprintf40;format, args41;;
   va_end40;args41;;
}

int main40;41;
{
   WriteFrmtd&40;"%d argumento variável\n", 1);
   WriteFrmtd&40;"%d variável %s\n", 2, "arguments");
   
   return(0);
}

Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:

1 argumento variável
2 argumentos variáveis

Biblioteca Padrão do C - <stdio.h>