vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

 

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

Écrivez la sortie mise en forme en utilisant un pointeur désignant une liste d’arguments. Voici les versions de vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l avec des améliorations de sécurité comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

int vfprintf_s(  
   FILE *stream,  
   const char *format,  
   va_list argptr   
);  
int _vfprintf_s_l(  
   FILE *stream,  
   const char *format,  
   locale_t locale,  
   va_list argptr   
);  
int vfwprintf_s(  
   FILE *stream,  
   const wchar_t *format,  
   va_list argptr   
);  
int _vfwprintf_s_l(  
   FILE *stream,  
   const wchar_t *format,  
   locale_t locale,  
   va_list argptr   
);  

Paramètres

stream
Pointeur vers la structure FILE .

format
Spécification de format.

argptr
Pointeur vers la liste d'arguments.

locale
Paramètres régionaux à utiliser.

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

vfprintf_set vfwprintf_s retourner le nombre de caractères écrits, non compris le caractère null de fin, ou une valeur négative si une erreur de sortie. Si le paramètre stream ou format est un pointeur null, ou si la chaîne de format contient des caractères de mise en forme non valides, le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent -1 et définissent errno avec la valeur EINVAL.

Pour plus d’informations sur les autres codes d’erreur, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

Chacune de ces fonctions prend un pointeur vers une liste d’arguments, puis met en forme et écrit les données spécifiées à stream.

Ces fonctions diffèrent des versions non sécurisées uniquement dans les versions sécurisées Vérifiez que le format chaîne contient des caractères de mise en forme valides.

vfwprintf_sest la version à caractères larges de vfprintf_s; les deux fonctions se comportent comme si le flux est ouvert en mode ANSI. vfprintf_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 du thread actuel.

System_CAPS_ICON_important.jpg Important

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_vftprintf_svfprintf_svfprintf_svfwprintf_s
_vftprintf_s_l_vfprintf_s_l_vfprintf_s_l_vfwprintf_s_l
RoutineEn-tête requisEn-têtes facultatifs
vfprintf_s, _vfprintf_s_l<stdio.h> et <stdarg.h><varargs.h>*
vfwprintf_s, _vfwprintf_s_l<stdio.h> ou <wchar.h>, et <stdarg.h><varargs.h>*

*Requis pour la compatibilité UNIX v..

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

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Flux d’e/s
Fonctions vprintf
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
va_arg, va_copy, va_end, va_start

Afficher: