_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l
Entrez la sortie mise en forme à la console à l'aide d'un pointeur à une liste d'arguments.Ce sont des versions de _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.
Important
Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.
int _vcprintf(
const char* format,
va_list argptr
);
int _vcprintf(
const char* format,
locale_t locale,
va_list argptr
);
int _vcwprintf_s(
const wchar_t* format,
va_list argptr
);
int _vcwprintf_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
Le nombre de caractères entrés, ou une valeur négative si une erreur de sortie se produit.
Comme la version non sécurisée de ces fonctions, si format est un pointeur null, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.En outre, contrairement à la version non sécurisée de ces fonctions, si format ne spécifie pas un format valide, une exception de paramètre non valide est généré.Si est autorisé à l'exécution pour continuer, ces fonctions retournent
Notes
Chacune de ces fonctions prend un pointeur vers une liste d'arguments, puis aux formats et les écrit les données données dans la console._vcwprintf_s est la version à caractère élargi d' _vcprintf_s.Elle prend une chaîne à caractères larges comme argument.
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.
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 |
---|---|---|---|
_vtcprintf_s |
_vcprintf_s |
_vcprintf_s |
_vcwprintf_s |
_vtcprintf_s_l |
_vcprintf_s_l |
_vcprintf_s_l |
_vcwprintf_s_l |
Configuration requise
Routine |
En-tête requis |
En-têtes facultatifs |
---|---|---|
_vcprintf_s, _vcprintf_s_l |
<conio.h> et <stdarg.h> |
<varargs.h>* |
_vcwprintf_s, _vcwprintf_s_l |
<conio.h> ou <wchar.h>, et <stdarg.h> |
<varargs.h>* |
* Requis pour la compatibilité UNIX V.
Pour des informations de compatibilité supplémentaires, consultez l' Compatibilité dans l'introduction.
Exemple
// crt_vcprintf_s.cpp
#include <conio.h>
#include <stdarg.h>
// An error formatting function used to print to the console.
int eprintf_s(const char* format, ...)
{
va_list args;
va_start(args, format);
return _vcprintf_s(format, args);
}
int main()
{
eprintf_s(" (%d:%d): Error %s%d : %s\n", 10, 23, "C", 2111,
"<some error text>");
eprintf_s(" (Related to symbol '%s' defined on line %d).\n",
"<symbol>", 5 );
}
Équivalent .NET Framework
Voir aussi
Référence
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l