© Éditions Eyrolles
233
annexe
Les principales fonctions de la bibliothèque standard
e) Lors du traitement d’un code de format, l’exploration s’arrête :
• à la rencontre d’un caractère invalide par rapport à l’usage qu’on doit en faire (point
décimal pour un entier, caractère différent d’un chiffre ou d’un signe pour du numérique,...). Si la fonction n’est pas en mesure de fabriquer une valeur, il y a arrêt prématuré
de l’ensemble de la lecture,
• à la rencontre d’un séparateur,
• lorsque la longueur (si elle a été spécifiée) a été atteinte.
Les codes de format utilisés par ces fonctions
Chaque code de format a la structure suivante :
% [*] [largeur] [h|l|L] conversion
dans laquelle les crochets [ et ] signifient que ce qu’ils renferment est facultatif. Les différentes « indications » se définissent comme suit :
●
* : la valeur lue n’est pas prise en compte ; elle n’est donc affectée à aucun élément de la
liste
●
largeur : nombre maximal de caractères à prendre en compte (on peut en lire moins s’il y
a rencontre d’un séparateur ou d’un caractère invalide)
●
h|l|L :
• h : l’élément correspondant est l’adresse d’un short int. Ce modificateur n’a de signification que pour les caractères de conversion : d, i, n, o, u, ou x
• l : l’élément correspondant est l’adresse d’un élément de type :
- long int pour les caractères de conversion d, i, n, o, u ou x
- double pour les caractères de conversion e ou f
• L : l’élément correspondant est l’adresse d’un élément de type long double. Ce
modificateur n’a de signification que pour les caractères de conversion e, f ou g.
●
conversion : ce caractère précise à la fois le type de l’élément correspondant (nous l’avons
indiqué ici en italique) et la manière dont sa valeur sera exprimée. Les types numériques
indiqués correspondent au cas où aucun modificateur n’est utilisé (voir ci-dessus). Il ne
faut pas perdre de vue que l’élément correspondant est toujours désigné par son adresse.
Ainsi, par exemple, lorsque nous parlons de signed int, il faut lire : « adresse d’un
signed int » ou encore « pointeur sur un signed int ».
• d : signed int exprimé en décimal
• o : signed int exprimé en octal
• i : signed int exprimé en décimal, en octal ou en hexadécimal
• u : unsigned int exprimé en décimal
• x : int (signed ou unsigned) exprimé en hexadécimal
Delannoy Livre.book Page 233 Mercredi, 6. mai 2009 4:27 16
233
annexe
Les principales fonctions de la bibliothèque standard
e) Lors du traitement d’un code de format, l’exploration s’arrête :
• à la rencontre d’un caractère invalide par rapport à l’usage qu’on doit en faire (point
décimal pour un entier, caractère différent d’un chiffre ou d’un signe pour du numérique,...). Si la fonction n’est pas en mesure de fabriquer une valeur, il y a arrêt prématuré
de l’ensemble de la lecture,
• à la rencontre d’un séparateur,
• lorsque la longueur (si elle a été spécifiée) a été atteinte.
Les codes de format utilisés par ces fonctions
Chaque code de format a la structure suivante :
% [*] [largeur] [h|l|L] conversion
dans laquelle les crochets [ et ] signifient que ce qu’ils renferment est facultatif. Les différentes « indications » se définissent comme suit :
●
* : la valeur lue n’est pas prise en compte ; elle n’est donc affectée à aucun élément de la
liste
●
largeur : nombre maximal de caractères à prendre en compte (on peut en lire moins s’il y
a rencontre d’un séparateur ou d’un caractère invalide)
●
h|l|L :
• h : l’élément correspondant est l’adresse d’un short int. Ce modificateur n’a de signification que pour les caractères de conversion : d, i, n, o, u, ou x
• l : l’élément correspondant est l’adresse d’un élément de type :
- long int pour les caractères de conversion d, i, n, o, u ou x
- double pour les caractères de conversion e ou f
• L : l’élément correspondant est l’adresse d’un élément de type long double. Ce
modificateur n’a de signification que pour les caractères de conversion e, f ou g.
●
conversion : ce caractère précise à la fois le type de l’élément correspondant (nous l’avons
indiqué ici en italique) et la manière dont sa valeur sera exprimée. Les types numériques
indiqués correspondent au cas où aucun modificateur n’est utilisé (voir ci-dessus). Il ne
faut pas perdre de vue que l’élément correspondant est toujours désigné par son adresse.
Ainsi, par exemple, lorsque nous parlons de signed int, il faut lire : « adresse d’un
signed int » ou encore « pointeur sur un signed int ».
• d : signed int exprimé en décimal
• o : signed int exprimé en octal
• i : signed int exprimé en décimal, en octal ou en hexadécimal
• u : unsigned int exprimé en décimal
• x : int (signed ou unsigned) exprimé en hexadécimal
Delannoy Livre.book Page 233 Mercredi, 6. mai 2009 4:27 16
