* Faz com que fprintf preencha a saída até que tenha n caracteres de largura, onde n é um valor inteiro armazenado no argumento da função a imediatamente anterior ao representado pelo tipo modificado.
printf("%*d", 5, 10) //will result in "10" being printed with a width of 5.
Todas as respostas
É usado para especificar, de forma dinâmica, qual é a largura do campo:
portanto, "indent" especifica quanto espaço alocar para a string que o segue na lista de parâmetros.
Então,
é o mesmo que
É uma boa maneira de colocar alguns espaços em seu arquivo, evitando um loop.
Não use "% * s" em um buffer que não tenha terminação NULL (compactado) pensando que imprimirá apenas o campo "comprimento".
O especificador de formato% 4s produz uma String em uma largura de campo de 4 - ou seja, printf exibe o valor com pelo menos 4 posições de caractere.
Se o valor a ser produzido for
less
de 4 posições de caracteres de largura, o valor éright justified
no campo por padrão.Se o valor for
greater
do que 4 posições de caracteres de largura, a largura do campoexpands
para acomodar o número apropriado de caracteres.Para justificar o valor à esquerda, use um número inteiro negativo para especificar a largura do campo.
Referências:Java ™ How To Program (Early Objects), décima edição
* Faz com que fprintf preencha a saída até que tenha n caracteres de largura, onde n é um valor inteiro armazenado no argumento da função a imediatamente anterior ao representado pelo tipo modificado.
http://www.cplusplus.com/reference/clibrary/cstdio/printf/
por exemplo:
printf("%*s", 4, myValue);
é equivalente aprintf("%4s", myValue);
.Leave a Reply