Partager via


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

System::Console::Write

Voir aussi

Référence

E/S de flux

fonctions de vprintf

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l

va_arg ; va_end ; va_start