fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Imprimer des données mises en forme dans un flux. Voici les versions de fprintf, _fprintf_l, fwprintf, _fwprintf_l avec des améliorations de sécurité comme décrit dans fonctionnalités de sécurité de la bibliothèque 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.

fprintf_sRetourne le nombre d’octets écrits. fwprintf_sRetourne le nombre de caractères larges. Chacune de ces fonctions retourne une valeur négative à la place lorsque se produit une erreur de sortie.

fprintf_smet en forme et imprime une série de caractères et de valeurs à la sortie stream . Chaque fonction argument (le cas échéant) est converti et sorti selon la spécification de format correspondante dans format . Pour fprintf_s, le format argument a la même syntaxe et utilisation de printf_s.

fwprintf_sest une version à caractère élargi de fprintf_s; dans fwprintf_s, format est une chaîne à caractères larges. Ces fonctions se comportent comme si le flux est ouvert en mode ANSI. fprintf_snon prise en charge sortie dans un flux de données 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.

System_CAPS_ICON_important.jpg Important

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

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ètre non valide, comme décrit dans la Validation des paramètres, si le paramètre stream ou format est un pointeur null. Ces fonctions diffèrent des versions non sécurisé dans la chaîne de format est également validée. S’il existe des spécificateurs de mise en forme inconnus ou incorrect, ces fonctions génèrent l’exception de paramètre non valide. Dans tous les cas, si l’exécution est autorisée à se poursuivre, ces fonctions retournent -1 et errno à EINVAL. Consultez la page _doserrno, errno, _sys_errlist et _sys_nerr pour plus d’informations sur les autres codes d’erreur.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_ftprintf_sfprintf_sfprintf_sfwprintf_s
_ftprintf_s_l_fprintf_s_l_fprintf_s_l_fwprintf_s_l

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

FonctionEn-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é, voir Compatibilité dans l'introduction.

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

System::IO::StreamWriter::Write

Flux d’e/s
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fscanf, _fscanf_l, fwscanf, _fwscanf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

Afficher: