Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Écrit la sortie mise en forme à la console en utilisant un pointeur vers une liste d'arguments. Ces versions _vcprintf, _vcprintf_l, _vcwprintf, _vcwprintf_l présentent des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

Remarque importante Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime. 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
);

format

Spécification de format.

argptr

Pointeur vers la liste d'arguments.

locale

Paramètres régionaux à utiliser.

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

Le nombre de caractères écrits, ou une valeur négative si une erreur de sortie se produit.

Comme le font leurs versions moins sécurisées, si format est un pointeur null, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. En outre, contrairement au comportement des versions moins sécurisées de ces fonctions, si format ne spécifie pas un format valide, une exception de paramètre non valide est générée. Si l'exécution a l'autorisation de continuer, ces fonctions retournent un code d'erreur et affectent errno au code d'erreur. Le code d'erreur par défaut est EINVAL si une valeur plus spécifique ne s'applique pas.

Chacune de ces fonctions crée un pointeur vers une liste d'arguments, puis formatte et écrit les données données dans la console . _vcwprintf_s est la version à caractère élargi de _vcprintf_s. Elle prend comme argument une chaîne à caractères larges.

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

_vtcprintf_s

_vcprintf_s

_vcprintf_s

_vcwprintf_s

_vtcprintf_s_l

_vcprintf_s_l

_vcprintf_s_l

_vcwprintf_s_l

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 plus d'informations sur la compatibilité, consultez Compatibilité.

// 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 );
}
(10,23) : Erreur C2111 : <le texte d'erreur>
  (Relié au symbole '<symbole>' défini à la ligne 5).

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft