Partager via


_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l

Écrit la sortie mise en forme à la console à l'aide d'un pointeur à une liste d'arguments, et prend en charge les paramètres positionnels dans la chaîne de format.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

int _vcprintf_p(
   const char* format,
   va_list argptr
);
int _vcprintf_p_l(
   const char* format,
   locale_t locale,
   va_list argptr
);
int _vcwprintf_p(
   const wchar_t* format,
   va_list argptr
);
int _vcwprintf_p_l(
   const wchar_t* format,
   locale_t locale,
   va_list argptr
);

Paramètres

  • format
    La spécification de format.

  • argptr
    Un pointeur vers une liste d'arguments.

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

Pour plus d'informations, consultez Syntaxe de spécification de format : fonctions printf et wprintf.

Valeur de retour

Le nombre de caractères qui sont écrits, ou une valeur négative si une erreur de sortie se produit.Si format est un pointeur null, 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, errno a la valeur EINVAL et -1 est retourné.

Notes

Chacune de ces fonctions prend un pointeur vers une liste d'arguments, puis utilise la fonction d' _putch pour mettre en forme et écrit les données données dans la console.(utilise _putwch d'_vcwprintf_p au lieu d' _putch._vcwprintf_p est la version à caractère élargi d' _vcprintf_p.Elle prend une chaîne à caractères larges comme argument.)

Les versions de ces fonctions qui ont le suffixe d' _l sont identiques sauf que de ils utilisent le paramètre de paramètres régionaux qui est passé au lieu des paramètres régionaux.

Chaque argument (le cas échéant) est converti et est sortie en fonction de la spécification du format correspondante dans format.La spécification de format prend en charge les paramètres positionnels afin que vous puissiez spécifier l'ordre dans lequel les arguments sont utilisés dans la chaîne de format.Pour plus d'informations, consultez paramètres positionnels de printf_p.

Ces fonctions ne traduisent pas les caractères de retour à la ligne en mélanges de la puissance de retour- ligne de chariot (CR-LF) lorsqu'ils sont sortis.

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.

Ces fonctions valident le pointeur d'entrée et de la chaîne de format.Si format ou argument est NULL, ou si la chaîne de format contient des caractères de disposition incorrects, ces fonctions appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, ces fonctions retournent -1 et affectez errno à EINVAL.

Mappages de routines de texte générique

Routine de Tchar.h

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_vtcprintf_p

_vcprintf_p

_vcprintf_p

_vcwprintf_p

_vtcprintf_p_l

_vcprintf_p_l

_vcprintf_p_l

_vcwprintf_p_l

Configuration requise

Routine

En-tête requis

_vcprintf_p, _vcprintf_p_l

<conio.h> et <stdarg.h>

_vcwprintf_p, _vcwprintf_p_l

<conio.h> et <stdarg.h>

Pour plus d'informations de compatibilité, consultez Compatibilité.

Exemple

// crt_vcprintf_p.c
// compile with: /c
#include <conio.h>
#include <stdarg.h>

// An error formatting function that's used to print to the console.
int eprintf(const char* format, ...)
{
  va_list args;
  va_start(args, format);
  return _vcprintf_p(format, args);
}

int main()
{
   int n = eprintf("parameter 2 = %2$d; parameter 1 = %1$s\r\n",
      "one", 222);
   _cprintf_s("%d characters printed\r\n");
}
  

Voir aussi

Référence

E/S de console et de port

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

va_arg ; va_end ; va_start

paramètres positionnels de printf_p