Partager via


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

imprimer des données mises en forme dans les flux Il s'agit de versions de fprintf, _fprintf_l, fwprintf, _fwprintf_l avec des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

int fprintf_s( 
   FILE *stream,
   const char *format [,
   argument ]...
);
int _fprintf_s_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]...
);
int fwprintf_s( 
   FILE *stream,
   const wchar_t *format [,
   argument ]...
);
int _fwprintf_s_l( 
   FILE *stream,
   const wchar_t *format,
   locale_t locale [,
   argument ]…
);

Paramètres

  • stream
    Pointeur vers la structure FILE.

  • format
    Chaîne de contrôle de format.

  • argument
    Arguments facultatifs.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

fprintf_sretourne le nombre d'octets écrit. fwprintf_s retourne le nombre de caractères larges entrés. Chacune de ces fonctions retourne une valeur négative à la place lorsqu'une erreur de sortie se produit.

Notes

La fonction fprintf_s met en forme et retourne une série de caractères et de valeurs en sortie stream Chaque fonction argument (le cas échéant) est convertie et sortie selon la spécification de format correspondante dans <parameterReference>format</parameterReference><legacyItalic>.</legacyItalic> Pour fprintf_s, l'argument format a la même syntaxe et utilisation que dans printf_s.

fwprintf_s est une version à caractères larges de fprintf_s ; dans fwprintf_s, format est une chaîne à caractères larges. Ces fonctions se comportent de la même façon si le flux est ouvert en mode ANSI. fprintf_s ne prend pas en charge actuellement la sortie dans un flux UNICODE.

Les versions de ces fonctions avec le suffixe _l sont identiques, sauf qu'elles utilisent les paramètres régionaux passés au lieu des paramètres régionaux actuels.

Note de sécuritéNote de sécurité

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur.

Comme les versions non sécurisées (consultez fprintf, _fprintf_l, fwprintf, _fwprintf_l), ces fonctions valident leurs paramètres et appellent le gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre, si stream ou format est un pointeur null. Ces fonctions diffèrent des versions non sécurisées car la chaîne de format elle-même est également validée. S'il existe des spécificateurs de format inconnus ou mal formés, ces fonctions appellent le gestionnaire de paramètre non valide. Dans tous les cas, si l'exécution est autorisée à se poursuivre, ces fonctions retournent -1 et définissent errno à EINVAL . Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes d'erreur.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

Pour plus d'informations, consultez Spécifications de format.

Configuration requise

Fonction

En-tête requis

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

// crt_fprintf_s.c
// This program uses fprintf_s to format various
// data and print it to the file named FPRINTF_S.OUT. It
// then displays FPRINTF_S.OUT on the screen using the system
// function to invoke the operating-system TYPE command.
 
#include <stdio.h>
#include <process.h>

FILE *stream;

int main( void )
{
   int    i = 10;
   double fp = 1.5;
   char   s[] = "this is a string";
   char   c = '\n';

   fopen_s( &stream, "fprintf_s.out", "w" );
   fprintf_s( stream, "%s%c", s, c );
   fprintf_s( stream, "%d\n", i );
   fprintf_s( stream, "%f\n", fp );
   fclose( stream );
   system( "type fprintf_s.out" );
}
  

Équivalent .NET Framework

System::IO::StreamWriter::Write

Voir aussi

Référence

E/S de flux

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l