Spécification de largeur printf
Dans une spécification de format, le deuxième champ facultatif est la spécification de la largeur. L'argument width est un entier décimal non négatif qui contrôle le nombre minimal de caractères qui sont générés. Si le nombre de caractères dans la valeur de sortie est inférieure à la longueur spécifiée, des espaces sont ajoutés à gauche ou à droite des valeurs , selon que l'indicateur gauche d'alignement (-) est spécifié ou non- jusqu'à ce que la largeur minimale soit atteinte. Si width est préfixé par 0, des zéros non significatifs sont ajoutés aux conversions de type entier ou de type nombre à virgule flottante, jusqu'à ce que la largeur minimale soit atteinte, sauf lorsque la conversion est vers un infini ou vers un NAN.
La spécification de largeur ne provoque jamais la troncature d'une valeur. Si le nombre de caractères dans la valeur de sortie est supérieur à la longueur spécifiée, ou si width n'est pas spécifié, tous les caractères de la valeur sont générés, en fonction de la spécification de précision.
Si la spécification de largeur est un astérisque (*), un argument int de la liste d'arguments fournit la valeur. Dans la liste des arguments, l'argument de width doit précéder la valeur qui est mise en forme, comme illustré dans l'exemple suivant :
printf("%0*f", 5, 3); /* 00003 is output */
Une valeur width manquante ou petite dans une spécification de format n'entraîne pas la troncation d'une valeur de sortie. Si le résultat d'une conversion est plus important que la valeur width, le champ peut être développé pour contenir le résultat de conversion.
Voir aussi
Référence
printf, _printf_l, wprintf, _wprintf_l
Syntaxe de spécification de format : fonctions printf et wprintf