fscanf_s, fwscanf_s
Remonter à stdio.h - Index
Fichier en-tête
stdio.h
Catégorie
Fonctions d'entrée/sortie formatées
Prototype
int fscanf_s(FILE * restrict stream, const char * restrict format, [, address, ...]);
int fwscanf_s(FILE * restrict stream, const wchar_t * restrict format, [, address, ...]);
Description
Remplace fscanf, fwscanf en ajoutant des améliorations relatives à la sécurité.
fscanf_s analyse une suite de champs d'entrée, un caractère à la fois, en effectuant la lecture à partir d'un dtream identifié par stream. Chaque champ est ensuite formaté selon un spécificateur de format passé à fscanf dans la chaîne de format pointée par format. Enfin, fscanf stocke l'entrée formatée à une adresse qui lui est passée sous forme d'argument suivant le format. Le nombre de spécificateurs de format et d'adresses doit être identique au nombre de champs d'entrée.
Remarque : Pour de plus amples informations sur les spécificateurs de format, voir scanf Format Specifiers.
Valeur renvoyée
fscanf_s renvoie le nombre de champs d'entrée correctement analysés, convertis et stockés. Cette valeur peut être zéro si le premier champ représente une non-concordance.
Si une erreur se produit avant les conversions, la valeur renvoyée est la macro EOF.
Exemple
#include <stdlib.h> #include <stdio.h> int main(void) { int i; printf("Input an integer: "); /* Read an integer from the standard input stream */ if (fscanf_s(stdin, "%d", &i)) printf("The integer read was: %i\n", i); else { fprintf(stderr, "Error reading an integer from stdin.\n"); exit(1); } return 0; }
Portabilité
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |