fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_lfprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Envoient les données mises en forme vers un flux.Print formatted data to a stream. Ces versions de fprintf, _fprintf_l, fwprintf, _fwprintf_l intègrent les améliorations de sécurité décrites dans Fonctionnalités de sécurité dans le CRT.These are versions of fprintf, _fprintf_l, fwprintf, _fwprintf_l with security enhancements as described in Security Features in the CRT.

SyntaxeSyntax

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

ParamètresParameters

streamstream
Pointeur désignant la structure FILE.Pointer to FILE structure.

formatformat
Chaîne de contrôle de format.Format-control string.

argument_listargument_list
Arguments facultatifs de la chaîne de format.Optional arguments to the format string.

localelocale
Paramètres régionaux à utiliser.The locale to use.

Valeur de retourReturn Value

fprintf_s retourne le nombre d’octets écrits.fprintf_s returns the number of bytes written. fwprintf_s retourne le nombre de caractères larges écrits.fwprintf_s returns the number of wide characters written. Chacune de ces fonctions retourne une valeur négative à la place en cas d’erreur de sortie.Each of these functions returns a negative value instead when an output error occurs.

NotesRemarks

fprintf_s formate et imprime une série de caractères et de valeurs dans le fluxde sortie.fprintf_s formats and prints a series of characters and values to the output stream. Chaque argument dans argument_list (le cas échéant) est converti et sorti selon la spécification de format correspondante au format.Each argument in argument_list (if any) is converted and output according to the corresponding format specification in format. L’argument format utilise la syntaxe de spécification de format pour les fonctions printf et wprintf.The format argument uses the format specification syntax for printf and wprintf functions.

fwprintf_s est une version à caractères larges de fprintf_s; dans fwprintf_s, format est une chaîne de caractères larges.fwprintf_s is a wide-character version of fprintf_s; in fwprintf_s, format is a wide-character string. Ces fonctions se comportent de la même façon si le flux est ouvert en mode ANSI.These functions behave identically if the stream is opened in ANSI mode. fprintf_s ne prend pas actuellement en charge la sortie dans un flux Unicode.fprintf_s doesn't currently support output into a UNICODE stream.

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.The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current locale.

Important

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur.Ensure that format is not a user-defined string.

Comme les versions non sécurisées (voir fprintf, _fprintf_l, fwprintf, _fwprintf_l), ces fonctions valident leurs paramètres et appellent le gestionnaire de paramètres non valides, comme décrit dans validation de paramètre, si Stream ou le format est un pointeur null.Like the non-secure versions (see fprintf, _fprintf_l, fwprintf, _fwprintf_l), these functions validate their parameters and invoke the invalid parameter handler, as described in Parameter Validation, if either stream or format is a null pointer. La chaîne de format elle-même est également validée.The format string itself is also validated. S’il existe des spécificateurs de mise en forme inconnus ou incorrects, ces fonctions génèrent l’exception de paramètre non valide.If there are any unknown or badly formed formatting specifiers, these functions generate the invalid parameter exception. Dans tous les cas, si l’exécution est autorisée à se poursuivre, les fonctions retournent-1 et attribuent à errno la valeur EINVAL.In all cases, If execution is allowed to continue, the functions return -1 and set errno to EINVAL. Pour plus d’informations sur ces codes d’erreur et les autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.

Mappages de routines de texte génériqueGeneric-Text Routine Mappings

Routine TCHAR.HTCHAR.H routine _UNICODE et _MBCS non définis_UNICODE & _MBCS not defined _MBCS défini_MBCS defined _UNICODE défini_UNICODE defined
_ftprintf_s_ftprintf_s fprintf_sfprintf_s fprintf_sfprintf_s fwprintf_sfwprintf_s
_ftprintf_s_l_ftprintf_s_l _fprintf_s_l_fprintf_s_l _fprintf_s_l_fprintf_s_l _fwprintf_s_l_fwprintf_s_l

Pour plus d'informations, consultez Spécifications de format.For more information, see Format Specifications.

Configuration requiseRequirements

FonctionFunction En-tête requisRequired header
fprintf_s, _fprintf_s_lfprintf_s, _fprintf_s_l <stdio.h><stdio.h>
fwprintf_s, _fwprintf_s_lfwprintf_s, _fwprintf_s_l <stdio.h> ou <wchar.h><stdio.h> or <wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.For additional compatibility information, see Compatibility.

ExempleExample

// 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" );
}
this is a string
10
1.500000

Voir aussiSee also

E/S de fluxStream I/O
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_lfscanf, _fscanf_l, fwscanf, _fwscanf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_lsprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l