vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Entrez la sortie mise en forme à l'aide d'un pointeur à une liste d'arguments.Ce sont des versions de vprintf, _vprintf_l, vwprintf, _vwprintf_l avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du 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
Les paramètres régionaux à utiliser.
Pour plus d'informations, consultez l' Spécifications de format.
Valeur de retour
vprintf_s et vwprintf_s retournent le nombre de caractères entrés, 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 disposition incorrects, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, les fonctions retournent -1 et affectez errno à EINVAL.
Pour plus d'informations sur ces derniers et d'autres codes d'erreur, consultez l' _doserrno, errno, _sys_errlist, et _sys_nerr.
Notes
Chacune de ces fonctions prend un pointeur vers une liste d'arguments, puis aux formats et les écrit les données données à stdout.
Les versions sécurisées de ces fonctions diffèrent d' vprintf et d' vwprintf uniquement parce que les versions sécurisées vérifiez que la chaîne de format contient des caractères de disposition valides.
vwprintf_s est la version à caractère élargi d' vprintf_s; les deux fonctions se comportent de la même si le flux est ouvert en mode ANSI.vprintf_s ne prend pas en charge actuellement la sortie dans un flux d'UNICODE.
Les versions de ces fonctions avec le suffixe d' _l sont identiques sauf qu'elles utilisent le paramètre de paramètres régionaux passé 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 l' Solutions contre les dépassements de mémoire tampon. |
Mappages de routines de texte générique
Routine de TCHAR.H |
_UNICODE et non définis _MBCS |
_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 d' Windows Store .Les handles standard de flux de données associés à la console, stdin, stdout, et stderr, doivent être redirigés pour que les fonctions runtime C peuvent les utiliser dans des applications d' Windows Store .Pour des informations de compatibilité supplémentaires, consultez l' Compatibilité dans l'introduction.
Équivalent .NET Framework
Voir aussi
Référence
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l