Spécificateurs de format scanf
Remonter à scanf, wscanf
Dans les chaînes de format scanf, les spécificateurs de format ont la forme suivante :
% [*] [width] [F|N] [h|l|L] type_char
Chaque spécificateur de format commence par le caractère pourcent (%).
Ce qui suit % est, dans l’ordre :
Composant | Facultatif/Obligatoire | Définition/Action |
---|---|---|
[*] |
(Facultatif) |
Caractère de précision. Le caractère de précision est un astérisque (*), à ne pas confondre avec l'opérateur d'indirection (pointeur) C. Si l'astérisque suit le signe pourcent (%) dans un spécificateur de format, le prochain champ d'entrée sera analysé mais le prochain argument d'adresse ne lui sera pas assigné. Les données d'entrée supprimées sont supposées être du type spécifié par le caractère de type qui suit le caractère astérisque. |
[width] |
(Facultatif) |
Spécificateur de largeur. Le spécificateur de largeur (n), un entier décimal, contrôle le nombre maximal de caractères à lire à partir du champ d'entrée en cours. Jusqu'à n caractères sont lus, convertis et stockés dans l'argument d'adresse en cours. Si le champ d'entrée contient moins de n caractères, la fonction ...scanf lit tous les caractères du champ, puis traite le prochain champ et spécificateur de format. Le succès des correspondances littérales et des assignations supprimées n'est pas directement déterminable. Si la fonction ...scanf rencontre un espace ou un caractère non convertible avant de lire les caractères "width", elle :
Un caractère non convertible est un caractère qui ne peut pas être converti selon le format donné (8 ou 9 quand le format est octal, J ou K quand le format est hexadécimal ou décimal, et ainsi de suite). |
[F|N] |
(Facultatif) |
Modificateur de taille de pointeur. Redéfinit la taille par défaut de l'argument d'adresse :
|
[h|l|L] |
(Facultatif) |
Modificateur de type d'argument. Redéfinit le type par défaut de l'argument d'adresse :
|
type_char |
(Obligatoire) |