vprintf_s, vwprintf_s
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 |
+ |
+ |
+ |