vprintf_s, vwprintf_s

De RAD Studio
Aller à : navigation, rechercher

Remonter à stdio.h - Index


Fichier en-tête

stdio.h

Catégorie

Fonctions d'entrée/sortie formatées

Prototype

int vprintf_s(const char * restrict format, va_list arg);

int vwprintf_s(const wchar_t * restrict format, va_list arg);

Description

Remplace vprintf, vwprintf en ajoutant des améliorations relatives à la sécurité.

Remarque : N'utilisez pas cette fonction dans les applications Win32 GUI.

Les fonctions v...printf sont connues comme autres points d'entrée pour les fonctions ...printf. Elles se comportent exactement comme leurs équivalents ...printf, mais elles acceptent un pointeur sur une liste d'arguments au lieu d'une liste d'arguments.

vprintf_s est équivalente à vprintf, vwprintf, mais elle ajoute des contraintes d'exécution quant à la validité du flux, du format et des éléments du paramètre arg correspondant à un spécificateur de format %s (comme mentionné plus tôt, ne doivent pas être des pointeurs null).

Valeur renvoyée

vprintf_s renvoie le nombre de caractères de la sortie. En cas d'erreur, vprintf_s renvoie une valeur négative.

Exemple

#include <stdio.h>
#include <stdarg.h>
int vpf(char *fmt, ...)
{
   va_list argptr;
   int cnt;
   va_start(argptr, fmt);
   cnt = vprintf_s(fmt, argptr);
   va_end(argptr);
   return(cnt);
}
int main(void)
{
   int inumber = 30;
   float fnumber = 90.0;
   char *string = "abc";
   vpf("%d %f %s\n",inumber,fnumber,string);
   return 0;
}

Portabilité

POSIX Win32 ANSI C ANSI C++

vprintf_s

+

+

+

+

vwprintf_s

+

+

+


Voir aussi