Partager via


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

System::Console::Write

Voir aussi

Référence

E/S de flux

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