Lecture formattée

Il existe dans la bibliothèque standard une fonction de lecture formattée qui fonctionne selon le même principe que la procédure printf. Sa syntaxe d'utilisation est la suivante :
scanf ( format , liste-d'expressions ) ;
format est une chaîne de caractères indiquant sous forme de séquences d'échappement les entités que scanf lit sur l'entrée standard :

-
%d pour un nombre décimal ;
-
%x pour un nombre écrit en hexadécimal ;
-
%c pour un caractère.
Tous les éléments de la liste-d'expressions doivent délivrer après évaluation l'adresse de la variable dans laquelle on veut mettre la valeur lue. Si le flot de caractères lu sur l'entrée standard ne correspond pas à format, scanf cesse d'affecter les variables de liste-d'expressions à la première disparité. Exemple :

scanf("%d %x",&i,&j);
cette instruction va lire un nombre écrit en décimal et mettre sa valeur dans la variable i, puis lire un nombre écrit en hexadécimal et mettre sa valeur dans la variable j. On aura remarqué que les paramètres i et j ont étés passés par adresse à scanf. Si l'entrée standard commence par un nombre décimal non suivi d'un nombre hexadécimal, seul i recevra une valeur. Si l'entrée standard ne commence pas par un nombre décimal, ni i ni j ne recevront de valeur.



Sous-sections
Matthieu Moy 2017-02-08