English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Bibliothèque standard C - <stdio.h>
fonction de bibliothèque C int sprintf(char *str, const char *format, ...) envoyer une sortie formatée vers str la chaîne pointée.
Voici la déclaration de la fonction sprintf().
int sprintf(char *str, const char *format, ...)
specifier (spécificateur) | output |
---|---|
c | caractère |
d ou i | entier décimal signé |
e | utiliser le caractère e pour le format de nombre scientifique (compartiment et exposant) |
E | utiliser le caractère E pour le format de nombre scientifique (compartiment et exposant) |
f | nombre flottant décimal |
g | choisi automatiquement la représentation appropriée entre %e ou %f |
G | choisi automatiquement la représentation appropriée entre %E ou %f |
o | octal signé |
s | chaîne de caractères de caractères |
u | entier décimal sans signe |
x | entier hexadécimal sans signe |
X | entier hexadécimal sans signe (lettres majuscules) |
p | adresse de pointeur |
n | aucune sortie |
% | caractère |
flags (drapeaux) | Description |
---|---|
- | aligné à gauche dans la largeur du champ donné, par défaut il est aligné à droite (voir le sous-spicificateur width). |
+ | force l'affichage d'un signe plus ou moins avant le résultat (+ ou -soit un nombre positif sera affiché devant + par défaut, seule une valeur négative sera affichée devant un - numéro. |
(space) | Si aucun symbole n'est écrit, un espace sera inséré devant la valeur. |
# | Lorsqu'il est utilisé avec les spécificateurs o, x ou X, les valeurs non nulles seront affichées avant respectivement 0, 0x ou 0X. Lorsqu'il est utilisé avec e, E et f, il force l'output d'inclure un point décimal, même s'il n'y a pas de nombre après, le point décimal sera affiché. Par défaut, si il n'y a pas de nombre après, le point décimal ne sera pas affiché. 与 g 或 G 一起使用时,结果与使用 e 或 E 时相同,但是尾部的零不会被移除。 |
0 | Utilisé avec g ou G, le résultat est le même que celui utilisé avec e ou E, mais les zéros à la fin ne sont pas supprimés. |
Placez des zéros (0) à gauche du nombre spécifié pour le remplissage, au lieu d'espaces (voir le sous-indicateur width). | Description |
---|---|
width (largeur) | (number) |
* | La largeur n'est pas spécifiée dans la chaîne de format, mais est placée avant le paramètre à formater en tant que paramètre supplémentaire de valeur entière. C'est le nombre minimum de caractères à sortir. Si la valeur sortie est plus courte que ce nombre, le résultat est rempli de espaces. Si la valeur sortie est plus longue que ce nombre, le résultat n'est pas tronqué. |
.precision (exactitude) | Description |
---|---|
.number | Pour les désignateurs de nombres entiers (d, i, o, u, x, X) : l'exactitude indique le nombre minimum de chiffres à écrire pour le nombre. Si la valeur écrite est plus courte que ce nombre, le résultat est rempli de zéros avant. Si la valeur écrite est plus longue que ce nombre, le résultat n'est pas tronqué. Une exactitude de 0 signifie qu'aucun caractère n'est écrit. Pour les désignateurs e, E et f : nombre de décimales à sortir après le point décimal. Pour les désignateurs g et G : nombre maximum de chiffres significatifs à sortir. Pour le type s : nombre maximum de caractères à sortir. Par défaut, tous les caractères sont sortis jusqu'à ce que le caractère de fin de chaîne vide soit rencontré. Pour le type c : n'a aucun effet. Lorsqu'aucune exactitude n'est spécifiée, la valeur par défaut est 1. |
.* | L'exactitude n'est pas spécifiée dans la chaîne de format, mais est placée avant le paramètre à formater en tant que paramètre supplémentaire de valeur entière. Si elle n'est pas spécifiée, elle est supposée être 0. |
Longueur (length) | Description |
---|---|
h | Les paramètres sont interprétés comme des types de short ou de short unsigned (seulement pour les désignateurs de nombres entiers : i, d, o, u, x et X). |
l | Les paramètres sont interprétés comme des types de long ou de long unsigned, applicables aux désignateurs de nombres entiers (i, d, o, u, x et X) et au désignateur c (représentant un caractère large) et s (représentant une chaîne de caractères large). |
L | Les paramètres sont interprétés comme des types de double long (seulement pour les désignateurs de nombres flottants : e, E, f, g et G). |
Si le succès, il renvoie le nombre total de caractères écrits, sans inclure le caractère de fin de chaîne vide ajouté à la fin de la chaîne. Si l'échec, il renvoie un nombre négatif.
L'exemple suivant démontre l'utilisation de la fonction sprintf().
#include <stdio.h> #include <math.h> int main() {}} char str[80]; sprintf(str, "La valeur de Pi = %f", M_PI); puts(str); return(0); }
Compilons et exécutons le programme suivant, cela produira le résultat suivant :
La valeur de Pi = 3.141593