fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
Imprimez les données mises en forme dans un flux.Ce sont des versions de fprintf, _fprintf_l, fwprintf, _fwprintf_l avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du 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 d' FILE .format
Chaîne de format.argument
arguments facultatifs.locale
Les paramètres régionaux à utiliser.
Valeur de retour
fprintf_s retourne le nombre d'octets écrits.fwprintf_s retourne le nombre de caractères larges écrits.Chacune de ces fonctions retourne une valeur négative à la place lorsqu'une erreur de sortie se produit.
Notes
fprintf_s met en forme et imprime un ensemble de caractères et les valeurs à la sortie stream*.* Chaque fonction argument (le cas échéant) est converti et de sortie en fonction de la spécification du format correspondante dans format*.* Pour fprintf_s, l'argument d' format présente la même syntaxe et utilisation qu'elle a dans printf_s.
fwprintf_s est une version à caractère élargi d' fprintf_s; dans fwprintf_s, format est une chaîne à caractères larges.Ces fonctions se comportent de la même si le flux est ouvert en mode ANSI.fprintf_s ne prend pas en charge actuellement la sortie dans un flux d'UNICODE.
Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles utilisent le paramètre de paramètres régionaux passé au lieu des paramètres régionaux.
Note de sécurité |
---|
assurez-vous qu' 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 des paramètres, 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 y a inconnu ou mal formé mise en forme des spécificateurs, ces fonctions génèrent l'exception de paramètre non valide.Dans tous les cas, s'il permet à l'exécution de se poursuivre, retournent -1 de fonctions et l'ensemble errno à EINVAL.Consultez _doserrno, errno, _sys_errlist, et _sys_nerr pour plus d'informations sur ce point, ainsi que d'autres, les codes d'erreur.
mappages de routines de texte générique
routine de TCHAR.H |
_MBCS & de _UNICODE non défini |
_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 des informations de compatibilité supplémentaires, 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 : : E/S : : StreamWriter : : Écriture
Voir aussi
Référence
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l