Partager via


vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Entrez la sortie mise en forme à l'aide d'un pointeur vers une liste d'arguments.Ce sont des versions de vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.

int vfprintf_s(
   FILE *stream,
   const char *format,
   va_list argptr 
);
int _vfprintf_s_l(
   FILE *stream,
   const char *format,
   locale_t locale,
   va_list argptr 
);
int vfwprintf_s(
   FILE *stream,
   const wchar_t *format,
   va_list argptr 
);
int _vfwprintf_s_l(
   FILE *stream,
   const wchar_t *format,
   locale_t locale,
   va_list argptr 
);

Paramètres

  • stream
    Pointeur vers la structure d' FILE .

  • format
    Spécification de format.

  • argptr
    Pointeur vers la liste d'arguments.

  • locale
    Les paramètres régionaux à utiliser.

Pour plus d'informations, consultez Spécifications de format.

Valeur de retour

vfprintf_s et vfwprintf_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 stream ou format est un pointeur null, ou si la chaîne de format contient les caractères de mise en forme valides, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, les fonctions retournent -1 et errno défini à EINVAL.

Pour plus d'informations sur ces éléments et d'autres codes d'erreur, consultez _doserrno, errno, _sys_errlist, et _sys_nerr.

Notes

Chacune de ces fonctions prend un pointeur vers une liste d'arguments, puis les formats et écrit les données données à stream.

Ces fonctions diffèrent des versions non sécurisées que parce que les versions sécurisées une condition que la chaîne d' format contient les caractères de mise en forme non valides.

vfwprintf_s est la version à caractère élargi d' vfprintf_s; les deux fonctions se comportent de la même si le flux est ouvert en mode ANSI.vfprintf_s ne prend pas en charge actuellement la sortie dans un flux d'UNICODE.

Les versions de ces fonctions par le suffixe d' _l sont identiques mais elles utilisent le paramètre de paramètres régionaux passé au lieu des paramètres régionaux du thread courant.

Note de sécuritéNote de sécurité

assurez-vous qu' 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 de TCHAR.H

_MBCS & de _UNICODE non défini

_MBCS défini

_UNICODE défini

_vftprintf_s

vfprintf_s

vfprintf_s

vfwprintf_s

_vftprintf_s_l

_vfprintf_s_l

_vfprintf_s_l

_vfwprintf_s_l

Configuration requise

routine

en-tête requis

en-têtes facultatifs

vfprintf_s, _vfprintf_s_l

<stdio.h> et <stdarg.h>

<varargs.h> *

vfwprintf_s, _vfwprintf_s_l

<stdio.h> ou <wchar.h> , et <stdarg.h>

<varargs.h> *

* Requis pour la compatibilité UNIX V.

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

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