*
(optionnel) qui indique que la
directive doit être considérée comme un pur modèle : pas de conversion de la
chaîne lue, et pas d'affectation à un param.
0
qui sera pris comme nombre octal.
0x
ou 0X
, qui sera pris comme
nombre hexadécimal.
Le param correspondant est interprété comme un pointeur vers un int, sauf si la directive contient un modificateur de type.
Remarque
En ce qui concerne les formats o, u, et x, le lecteur a
sans doute été surpris de voir que le param correspondant est
interprété comme un pointeur vers un unsigned int alors que la chaîne
dans le flot d'entrée qui correspond à ces formats est un nombre
éventuellement précédé d'un signe.
Il n'y a pas d'erreur, c'est bien ce que dit la norme.
|
^
,
le scanset est l'ensemble des caractères entre crochets.
Si le caractère après le crochet ouvrant est le caractère ^
,
le scanset est l'ensemble des caractères ne se trouvant pas
dans la chaîne entre crochets.
Le scanset peut comprendre le caractère ]
à condition de le
mettre en début soit [] ...]
ou [^]...]
selon que l'on utilise
la forme sans ou avec ^
.
Le scanset peut contenir ^
à condition de ne pas le mettre
en tête : [...^...]
.
Une directive [
est un modèle pour une suite de caractères appartenant
au scanset.
Le param correspondant est interprété comme un pointeur vers
un tableau de caractères suffisamment grand pour contenir la chaîne lue
plus un null terminal.
printf
d'un
pointeur selon le format %p
.
Le param correspondant est interprété comme un pointeur vers
un pointeur vers void.
fscanf
écrit le nombre de caractères lus
jusqu'à ce moment, dans le flot de données, par cette invocation de
fscanf
.
L'exécution d'une directive %n
n'augmente pas le nombre des
param affectés qui sera retourné par fscanf (Cf ).
%
.
La directive complète est %%
.
Matthieu Moy 2017-02-08