NOM

scanf, fscanf, vscanf, vfscanf - Conversion d’entrée de fichier formaté

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <stdio.h>
int scanf(const char *restrict format, ...);
int fscanf(FICHIER *restrict flux,
           const char *restrict format, ...);
#include <stdarg.h>
int vscanf(const char *restrict format, va_list ap);
int vfscanf(FICHIER *restrict flux,
           const char *restrict format, va_list ap);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
vscanf(), vfscanf() :
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIPTION

Les famille de fonctions scanf() analysent les entrées comme sscanf(3), mais lisent à partir d'un' FICHIER. Il est très difficile d'utiliser ces fonctions correctement et il est préférable de lire des lignes entières avec fgets(3) ou getline(3) et de les analyser plus tard avec sscanf(3) ou des fonctions plus spécialisées telles que strtol(3).
La fonction scanf() lit ses données depuis le flux d'entrée standard stdin, fscanf() lit ses entrées depuis le flux pointé par flux.
La fonction vfscanf() est analogue à vfprintf(3) et lit ses arguments depuis le flux pointé par flux en utilisant une liste variable d'arguments de pointeurs, consultez stdarg(3). La fonction vscanf() est analogue à vprintf(3) et lit à partir de l'entrée standard.

VALEUR RENVOYÉE

En cas de succès, ces fonctions renvoient le nombre d'éléments d'entrée correctement mis en correspondance et affectés. Ce nombre peut être plus petit que le nombre d'éléments attendus, et même être nul, dans le cas d'une erreur précoce de mise en correspondance.
La valeur EOF est renvoyée si la fin de l'entrée est atteinte avant la première conversion réussie ou si un échec de correspondance survient. EOF est également renvoyé si une erreur de lecture survient, auquel cas l'indicateur d'erreur pour le flux (consultez ferror(3)) est positionné et errno est remplie en conséquence

ERREURS

EAGAIN
Le descripteur de fichier flux sous-jacent est non bloquant et l'opération de lecture bloquerait.
EBADF
Le descripteur de fichier flux sous-jacent n'est pas valable ou bien n'est pas ouvert en lecture.
EILSEQ
La séquence d'octets en entrée ne constitue pas un caractère valable.
EINTR
La lecture a été interrompue par un signal ; consultez signal(7).
EINVAL
Pas suffisamment de paramètres ou bien format est NULL.
ENOMEM
Plus assez de mémoire.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
scanf(), fscanf(), vscanf(), vfscanf() Sécurité des threads MT-Safe locale
 

STANDARDS

Ces fonctions sont conformes à C99 et POSIX.1-2001.

VOIR AUSSI

fgets(3), getline(3), sscanf(3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]>, Frédéric Hantrais <[email protected]>, Grégoire Scano <[email protected]> et Jean-Pierre Giraud <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]