English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Bibliothèque standard - <stdio.h>
Fonction de bibliothèque C int vprintf(const char *format, va_list arg) Envoyer une sortie formatée à la sortie standard stdout en utilisant une liste de paramètres.
Voici la déclaration de la fonction vprintf().
int vprintf(const char *format, va_list arg)
specifier (spécificateur) | output (sortie) |
---|---|
c | caractère |
d ou i | entier décimal signé |
e | représentation scientifique avec le caractère e (exponentiel et index) |
E | représentation scientifique avec le caractère E (exponentiel et index) |
f | nombre flottant décimal |
g | choisir automatiquement la représentation appropriée entre %e ou %f |
G | choisir 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 | pas de sortie |
% | caractère |
flags (drapeaux) | Description |
---|---|
- | Aligner à gauche dans la largeur du champ donné, par défaut c'est aligné à droite (voir la sous-indication width). |
+ | Forcer l'affichage d'un signe (+ ou -) avant le résultat (+ ou -soit que devant les nombres positifs sera affiché + par défaut, seules les valeurs négatives affichent un - numéro. |
(espace) | Si aucun symbole n'est écrit, un espace est inséré devant la valeur. |
# | Lorsqu'il est utilisé avec les spécificateurs o, x ou X, un zéro (0), 0x ou 0X est affiché devant la valeur non nulle respective. Lorsqu'il est utilisé avec e, E et f, il force l'output d'un point décimal, même s'il n'y a pas de nombre après. Par défaut, s'il n'y a pas de nombre après, le point décimal n'est pas affiché. Lorsqu'il est utilisé avec g ou G, le résultat est le même que lorsqu'il est utilisé avec e ou E, mais les zéros à la fin ne sont pas supprimés. |
0 | Place un zéro (0) à gauche du nombre spécifié pour le remplissage padding, au lieu d'un espace (voir la sous-indication width). |
largeur (largeur) | Description |
---|---|
(number) | Nombre minimum de caractères à écrire. Si la valeur écrite est plus courte que ce nombre, le résultat est rempli de caractères d'espace. Si la valeur écrite est plus longue que ce nombre, le résultat n'est pas tronqué. |
* | La largeur n'est pas spécifiée dans la chaîne de format, mais est placée avant le paramètre à formater sous forme de valeur entière supplémentaire. |
.precision (exactitude) | Description |
---|---|
.number | Pour les désignateurs de nombres entiers (d, i, o, u, x, X) : l'exactitude spécifie 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 de tête. 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 à écrire après le point décimal. Pour les désignateurs g et G : nombre maximum de chiffres significatifs à écrire. Pour s : nombre maximum de caractères à écrire. Par défaut, tous les caractères sont écrits jusqu'à ce que le caractère de fin de chaîne 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.Si elle n'est pas spécifiée avec une valeur explicite, elle est supposée être 0. |
.* | L'exactitude n'est pas spécifiée dans la chaîne de format, mais est placée avant le paramètre à formater sous forme de valeur entière supplémentaire. |
Longueur (longueur) | Description |
---|---|
h | Les paramètres sont interprétés comme des types short ou unsigned short (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 long ou unsigned long, appropriés pour les désignateurs de nombres entiers (i, d, o, u, x et X) et le 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 long double (seulement pour les désignateurs de flottants : e, E, f, g et G). |
Si le retour est réussi, il renvoie le nombre total de caractères écrits, sinon il renvoie un nombre négatif.
Le tableau suivant montre l'utilisation de la fonction vprintf().
Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant :
1 argument variable 2 arguments variables