fonctions de vprintf
Chacune des fonctions d' vprintf prend un pointeur vers une liste d'arguments, puis les formats et écrit les données données à une destination particulière.Les fonctions diffèrent dans la validation des paramètres exécutée, si les fonctions prennent des chaînes à caractères larges ou codées sur un octet, la destination de sortie, et un support pour spécifier l'ordre dans lequel les paramètres sont utilisés dans la chaîne de format.
Notes
Les fonctions d' vprintf sont semblables à leurs fonctions d'homologues comme indiqué dans le tableau suivant.Toutefois, chaque fonction d' vprintf reçoit un pointeur vers une liste d'arguments, alors que chacune des fonctions d'homologues accepte une liste d'arguments.
Ces données de mise en forme des fonctions pour la sortie dans des destinations comme suit.
Fonction |
fonction d'homologues |
destination de sortie |
validation des paramètres |
prise en charge de paramètre positionnel |
---|---|---|---|---|
_vcprintf |
console |
Contrôle pour NULL. |
non |
|
_vcwprintf |
console |
vérifiez null. |
non |
|
vfprintf |
Stream |
Contrôle pour NULL. |
non |
|
vfprintf_p |
Stream |
Contrôle du format null et valide. |
oui |
|
vfprintf_s |
Stream |
Contrôle du format null et valide. |
non |
|
vfwprintf |
Stream |
Contrôle pour NULL. |
non |
|
vfwprintf_p |
Stream |
Contrôle du format null et valide. |
oui |
|
vfwprintf_s |
Stream |
Contrôle du format null et valide. |
non |
|
vprintf |
Stdout |
Contrôle pour NULL. |
non |
|
vprintf_p |
Stdout |
Contrôle du format null et valide. |
oui |
|
vprintf_s |
Stdout |
Contrôle du format null et valide. |
non |
|
vwprintf |
Stdout |
Contrôle pour NULL. |
non |
|
vwprintf_p |
Stdout |
Contrôle du format null et valide. |
oui |
|
vwprintf_s |
Stdout |
Contrôle du format null et valide. |
non |
|
vsprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
|
vsprintf_p |
mémoire désignée par la mémoire tampon |
Contrôle du format null et valide. |
oui |
|
vsprintf_s |
mémoire désignée par la mémoire tampon |
Contrôle du format null et valide. |
non |
|
vswprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
|
vswprintf_p |
mémoire désignée par la mémoire tampon |
Contrôle du format null et valide. |
oui |
|
vswprintf_s |
mémoire désignée par la mémoire tampon |
Contrôle du format null et valide. |
non |
|
_vscprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
|
_vscwprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
|
_vsnprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
|
_vsnwprintf |
mémoire désignée par la mémoire tampon |
Contrôle pour NULL. |
non |
L'argument d' argptr a le type va_list, défini dans VARARGS.H et STDARG.H.La variable d' argptr doit être initialisée par va_start, et peut être réinitialisée par les appels suivants d' va_arg ; points d' argptr puis au début d'une liste d'arguments qui sont convertis et transmis pour la sortie en fonction de les caractéristiques correspondantes dans l'argument format .le format a le même formulaire et fonction que l'argument de format pour printf.aucune de ces fonctions n'appelle va_end.Pour une description plus complète de chaque fonction d' vprintf , consultez la description de son équivalent fonctionner comme indiqué dans le tableau précédent.
_vsnprintf diffère de vsprintf car il n'entre pas plus que des octets de nombreà la mémoire tampon.
Les versions de ces fonctions avec un infixe de W dans le nom sont des versions à caractères larges les fonctions correspondantes sans infixe de W ; dans chacune de ces fonctions à caractère élargi, la mémoire tampon et le format sont des chaînes à caractères larges.Sinon, chaque fonction à caractère élargi se comporte comme sa fonction d'homologues SBCS.
Les versions de ces fonctions avec _s et les suffixes de _p sont les plus les versions sécurisées.Ces versions valident les chaînes de format et générera une exception si la chaîne de format n'est pas bien formée (par exemple, si les caractères de mise en forme valides sont utilisés).
Les versions de ces fonctions avec le suffixe " _p permettent de spécifier l'ordre dans lequel les arguments fournis sont substitués dans la chaîne de format.Pour plus d'informations, consultez paramètres positionnels de printf_p.
Pour vsprintf, vswprintf, _vsnprintf et _vsnwprintf, si copier se produit entre les chaînes qui se chevauchent, le comportement n'est pas défini.
Note de sécurité |
---|
assurez-vous que le 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.Si vous utilisez des versions sécurisées de ces fonctions (les suffixes de _s ou de _p ), une chaîne de format fournie par l'utilisateur peut lever une exception de paramètre non valide si la chaîne fournie par l'utilisateur contient des caractères de mise en forme non valides. |
Voir aussi
Référence
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l