fscanf_s, fwscanf_s

De RAD Studio
Aller à : navigation, rechercher

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++

+

+

+

+

Voir aussi