Programmer en langage C
54
© Éditions Eyrolles
Voici quelques exemples :
printf ("%10.3f", x) ; /* notation décimale, gabarit mini 10 */
/*
et 3 chiffres après point
*/
x = 1.2345
^^^^^1.235
x = 1.2345E3
^^1234.500
x = 1.2345E7
12345000.000
printf ("%12.4e", x) ; /* notation exponentielle, gabarit mini 12*/
/*
et 4 chiffres après point
*/
x = 1.2345
^1.2345e+000
x = 123.456789E8
^1.2346e+010
Le signe moins (-), placé immédiatement après le symbole % (comme dans %-4d ou %-10.3f),
demande de cadrer l’affichage à gauche au lieu de le cadrer (par défaut) à droite ; les éventuels espaces supplémentaires sont donc placés à droite et non plus à gauche de l’information
affichée.
Le caractère * figurant à la place d’un gabarit ou d’une précision signifie que la valeur effective
est fournie dans la liste des arguments de printf. En voici un exemple dans lequel nous appliquons ce mécanisme à la précision :
printf ("%8.*f", n, x) ;
n = 1
x = 1.2345
^^^^1.2
n = 3
x = 1.2345
^^^1.234
La fonction printf fournit en fait une valeur de retour. Il s’agit du nombre de caractères qu’elle
a réellement affichés (ou la valeur -1 en cas d’erreur). Par exemple, avec l’instruction suivante,
on s’assure que l’opération d’affichage s’est bien déroulée :
if (printf ("....", ...) != -1 ) .....
De même, on obtient le nombre de caractères effectivement affichés par :
n = printf ("....", ....)
1.4 La syntaxe de printf
D’une manière générale, nous pouvons dire que l’appel à printf se présente ainsi :
La fonction printf
printf ( format, liste_d’expressions )
Delannoy Livre.book Page 54 Mercredi, 6. mai 2009 4:26 16
Précédent

- 67/281

Suivant