_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é |
---|
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");
}