fprintf_s, fwprintf_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 fprintf_s(FILE * restrict stream, const char * restrict format, [,argument, ...]);

int fwprintf_s(FILE * restrict stream, const wchar_t * restrict format, [,argument, ...]);

Description

Remplace fprintf, fwprintf en ajoutant des améliorations relatives à la sécurité.

fprintf_s accepte une suite d'arguments appliqués à chaque spécificateur de format contenu dans la chaîne de format pointée par format. Les données formatées sont envoyées sur stream. Le nombre de spécificateurs de format doit être identique au nombre d'arguments, et inversement.

Remarque : Pour de plus amples informations sur les spécificateurs de format, voir Spécificateurs de format dans C/C++.

En supplément à fprintf, fprintf_s a des contraintes d'exécution supplémentaires se référant au fait que le spécificateur %n peut ne pas être contenu dans format et que l'argument correspondant à un spécificateur %s dans la liste d'arguments ne doit pas être un pointeur null.

En cas d'erreur, fprintf_s arrête la production de la sortie.

Valeur renvoyée

fprintf_s renvoie le nombre de caractères transmis. En cas d'erreur, elle renvoie une valeur négative.

Exemple

#include <stdio.h>
int main(void)
{
  FILE *stream;
  int i = 100;
  char c = 'C';
  float f = 1.234;
  /* Open a file for update */
  if(fopen_s(&stream,"DUMMY.FIL", "w+")){
    printf("Unable to create DUMMY.FIL");
  }
  else{
    /* Write some data to the file */
    fprintf_s(stream, "%d %c %f", i, c, f);
  }
  /* Close the file */
  fclose(stream);
  return 0;
}

Portabilité

POSIX Win32 ANSI C ANSI C++

fprintf_s

+

+

+

+

fwprintf_s

+

+

+

Voir aussi