vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Ecrit une sortie formatée en utilisant un pointeur vers une liste d'arguments. Ces versions vprintf, _vprintf_l, vwprintf, _vwprintf_l présentent des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le 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.
Valeur de retour
vprintf_s et vwprintf_s renvoient le nombre de caractères écrits, sans le caractère null de fin, ou une valeur négative si une erreur de sortie se produit. Si format est un pointeur null, ou si la chaîne de format contient des caractères de mise en forme 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, cette fonction renvoient -1 et définie errno avec la valeur EINVAL.
Pour plus d'informations sur ces codes d'erreur et autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.
Notes
Chacune de ces fonctions prend un pointeur vers une liste d'arguments, puis formate et écrit les données données dans stdout.
Les versions sécurisées de ces fonctions diffèrent de vprintf et vwprintf uniquement car les versions sécurisées vérifient que la chaîne de format contient des caractères de mise en forme valides.
vwprintf_s est la version à caractères élargis de vprintf_s; les deux fonctions se comportent de la même manière si le flux est ouvert en mode ANSI. vprintf_s ne prend pas en charge actuellement la sortie dans un flux 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.
Note de sécurité |
---|
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 & _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
Configuration requise
Routine |
En-tête requis |
En-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 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 Windows Store . Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Équivalent .NET Framework
Voir aussi
Référence
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l