vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

 

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

Écrit au format de sortie à l’aide d’un pointeur vers une liste d’arguments. Ces versions de vprintf, _vprintf_l, vwprintf, _vwprintf_l ont des améliorations de sécurité, comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

int vprintf_s(  
   const char *format,  
   va_list argptr   
);  
int _vprintf_s_l(  
   const char *format,  
   locale_t locale,  
   va_list argptr   
);  
int vwprintf_s(  
   const wchar_t *format,  
   va_list argptr   
);  
int _vwprintf_s_l(  
   const wchar_t *format,  
   locale_t locale,  
   va_list argptr   
);  

Paramètres

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.

vprintf_set vwprintf_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 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 à stdout.

Les versions sécurisées de ces fonctions diffèrent vprintf et vwprintf uniquement du fait que les versions sécurisées vérifie que la chaîne de format contient des caractères de mise en forme valides.

vwprintf_sest la version à caractères larges de vprintf_s; les deux fonctions se comportent comme si le flux est ouvert en mode ANSI. vprintf_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
_vtprintf_svprintf_svprintf_svwprintf_s
_vtprintf_s_l_vprintf_s_l_vprintf_s_l_vwprintf_s_l
RoutineEn-tête requisEn-têtes facultatifs
vprintf_s, _vprintf_s_l<stdio.h> et <stdarg.h><varargs.h>*
vwprintf_s, _vwprintf_s_l<stdio.h> ou <wchar.h>, et <stdarg.h><varargs.h>*

*Requis pour la compatibilité UNIX v..

La console n'est pas prise en charge dans les applications Windows 8.x Store . Les handles de flux standard associés à la console (stdin, stdout et stderr) doivent être redirigés pour que les fonctions Runtime C puissent les utiliser dans les applications du Windows 8.x Store. Pour plus d'informations sur la compatibilité, voir Compatibilité.

System::console::Write

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: