La chaîne format doit se composer d'un ensemble de directives.
Il doit y avoir autant de param que de directives demandant
l'affectation d'une valeur.
Si il n'y a pas suffisamment de param pour le format, le
comportement n'est pas défini.
Si il y a davantage de param que demandé par le format,
les param en excès sont évalués mais ils sont inutilisés.
La fonction fscanf
exécute dans l'ordre chaque directive du format.
Si une directive échoue, la fonction fscanf
retourne à l'appelant.
- -
- L'exécution d'une directive formée de caractères blancs, consiste à consommer
dans le flot d'entrée la plus longue séquence possible de caractères blancs.
Même si cette séquence est de taille nulle, la directive a réussi.
- -
- L'exécution d'une directive formée de caractères ordinaires, consiste à
consommer dans le flot d'entrée une séquence identique à la directive.
Au premier caractère différent, la directive a échoué et ce caractère reste non
lu.
- -
- L'exécution d'une directive formée d'une séquence d'échappement, consiste à :
- consommer dans le flot d'entrée la plus longue séquence possible
de caractères blancs.
Cette séquence peut être de taille nulle.
Cette action ne s'applique pas aux formats c, n, ni [.
- consommer dans le flot d'entrée la plus longue séquence possible
de caractères qui soit conforme au modèle.
Si cette séquence est de taille nulle, la directive a échoué.
- si la directive ne contient pas le caractère
*
, convertir la
chaîne lue et l'affecter à l'objet pointé par le param
correspondant.
Si cet objet n'est pas de la taille ou du type convenable pour la recevoir,
le comportement n'est pas défini.
Matthieu Moy
2017-02-08