English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Biblioteca padrão C - <stdio.h>
função da biblioteca C int sprintf(char *str, const char *format, ...) enviar saída formatada para str string apontada.
Aqui está a declaração da função sprintf().
int sprintf(char *str, const char *format, ...)
specifier (especificador) | saída |
---|---|
c | caracteres |
d ou i | inteiro decimal com sinal |
e | usar o caractere e para a notação científica (número e expoente) |
E | usar o caractere E para a notação científica (número e expoente) |
f | número de ponto flutuante decimal |
g | escolherá automaticamente a representação apropriada entre %e ou %f |
G | escolherá automaticamente a representação apropriada entre %E ou %f |
o | octal com sinal |
s | string de caracteres |
u | inteiro decimal sem sinal |
x | inteiro hexadecimal sem sinal |
X | inteiro hexadecimal sem sinal (letras maiúsculas) |
p | endereço de ponteiro |
n | sem saída |
% | caracteres |
flags (identificadores) | Descrição |
---|---|
- | Alinhamento à esquerda dentro do campo width dado, o padrão é alinhamento à direita (ver o subespecificador width). |
+ | Forçará a exibição de um sinal de mais ou menos antes do resultado (+ ou -),isto é, números positivos terão + número. Pelo padrão, apenas números negativos terão um - número. |
(espaço) | Se nenhum símbolo for escrito, uma espaço será inserida antes do valor. |
# | Ao usar com os especificadores o, x ou X, valores não nulos serão exibidos antes com 0, 0x ou 0X, respectivamente. Ao usar com e, E e f, forçará a saída de um ponto decimal, mesmo que não haja números após ele. Pelo padrão, se não houver números após ele, o ponto decimal não será exibido. 与 g 或 G 一起使用时,结果与使用 e 或 E 时相同,但是尾部的零不会被移除。 |
0 | 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. |
Coloca zeros (0) à esquerda do número especificado para preencher o padding, em vez de espaços (veja o subdescritor width). | Descrição |
---|---|
width (largura) | (number) |
* | Width não especificado na string formatada, mas será colocado como um valor inteiro adicional antes do parâmetro a ser formatado. O número mínimo de caracteres a serem output. Se o valor output for menor que esse número, o resultado será preenchido com espaços. Se o valor output for maior que esse número, o resultado não será truncado. |
.precision (precisão) | Descrição |
---|---|
.number | Para os descritores inteiros (d, i, o, u, x, X): a precisão especifica o número mínimo de dígitos a serem escritos pelo 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 descritores e, E e f: o número de dígitos decimais a serem output após o ponto decimal. Para os descritores g e G: o número máximo de dígitos significativos a serem output. Para s: o número máximo de caracteres a serem output. Padrão é output todos os caracteres até o caractere nulo final. Para o tipo c: não tem nenhum efeito. Quando não especificada, o padrão é 1. |
.* | A precisão não especificada na string formatada, mas será colocada como um valor inteiro adicional antes do parâmetro a ser formatado. Se especificado sem um valor explícito, assume-se 0. |
length (tamanho) | Descrição |
---|---|
h | Os parâmetros são interpretados como short ou unsigned short (apenas para os descritores de números inteiros: i, d, o, u, x e X). |
l | Os parâmetros são interpretados como long ou unsigned long, aplicáveis aos descritores de números inteiros (i, d, o, u, x e X) e ao descritor c (representando um caractere largura) e s (representando uma string de caracteres largura). |
L | Os parâmetros são interpretados como long double (apenas para os descritores de números de ponto flutuante: e, E, f, g e G). |
Se bem-sucedido, retorna o número total de caracteres escritos, sem incluir o caractere nulo adicionado ao final da string. Se falhar, retorna um número negativo.
O exemplo a seguir demonstra o uso da função sprintf().
#include <stdio.h> #include <math.h> int main() { char str[80]; sprintf(str, "O valor de Pi = %f", M_PI); puts(str); return(0); }
Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:
O valor de Pi = 3.141593