scanf() : Lecture formatée de données

Permet la saisie de données formatées depuis le flux standard stdin (généralement le clavier).

Syntaxe

scanf ("fmt", &var);

  • fmt: entre guillemets, on trouve ici une chaîne de caractères qui peut contenir
    du texte libre (les caractères accentués sont à éviter).
    des séquences d'échappement précédées du signe \.
    et qui doit contenir au moins un spécificateur de format précédé du signe %. On doit retrouver autant de spécificateurs de format que de variables qui doivent être lues, et pas plus.
  • var: variables (pointeurs précédés de l'opérateur & pour les variables scalaires) dont les valeurs doivent être lues.

Fichier include

#include <stdio.h>

Valeur retournée

scanf retourne le nombre de valeurs lues et mémorisées (voir remarque: %* ne mémorise pas la valeur).

Exemple

Saisie par le clavier de la valeur qui sera affectée à la variable a :

scanf ("Veuillez introduire une valeur: ", &a);

Remarques

%* ne mémorise pas la valeur.
Par exemple: scanf ("%d%*c%d", &a, &b); lit deux entiers séparés par un caractère quelconque.

La lecture par scanf s'arrête au premier séparateur (blanc, tabulation, retour chariot).

Les arguments de scanf sont des pointeurs sur les variables résultat.

Contents Haut

English translation

You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.

If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.

Thank you in advance.

Document created the 19/03/2002, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/c-scanf.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.