Fonctions vprintfvprintf Functions

Chacune de ces fonctions vprintf prend un pointeur désignant une liste d’arguments, puis met en forme et écrit les données fournies dans une destination particulière.Each of the vprintf functions takes a pointer to an argument list, then formats and writes the given data to a particular destination. Les fonctions diffèrent dans la validation des paramètres effectuée, l’utilisation de chaînes à caractères larges ou sur un octet, la destination de sortie et la prise en charge de la spécification de l’ordre dans lequel les paramètres sont utilisés dans la chaîne de format.The functions differ in the parameter validation performed, whether the functions take wide or single-byte character strings, the output destination, and the support for specifying the order in which parameters are used in the format string.

_vcprintf, _vcwprintf_vcprintf, _vcwprintf vfprintf, vfwprintfvfprintf, vfwprintf
_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l_vfprintf_p, _vfprintf_p_l, _vfwprintf_p, _vfwprintf_p_l vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_lvfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l
vprintf, vwprintfvprintf, vwprintf _vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l_vprintf_p, _vprintf_p_l, _vwprintf_p, _vwprintf_p_l
vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_lvprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l vsprintf, vswprintfvsprintf, vswprintf
_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_lvsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l
_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l _vsnprintf, _vsnwprintf_vsnprintf, _vsnwprintf

NotesRemarks

Les fonctions vprintf sont semblables à leurs fonctions équivalentes, comme indiqué dans le tableau suivant.The vprintf functions are similar to their counterpart functions as listed in the following table. Toutefois, chaque fonction vprintf accepte un pointeur vers une liste d’arguments, alors que chacune de ces fonctions équivalentes accepte une liste d’arguments.However, each vprintf function accepts a pointer to an argument list, whereas each of the counterpart functions accepts an argument list.

Ces fonctions mettent en forme les données pour la sortie vers les destinations, comme suit.These functions format data for output to destinations as follows.

FonctionFunction Fonction équivalenteCounterpart function Destination de sortieOutput destination Validation de paramètreParameter Validation Prise en charge des paramètres positionnelsPositional Parameter Support
_vcprintf _cprintf_cprintf consoleconsole Rechercher la valeur null.Check for null. Nonno
_vcwprintf _cwprintf_cwprintf consoleconsole Rechercher la valeur null.Check for null. Nonno
vfprintf fprintffprintf FluxStream Rechercher la valeur null.Check for null. Nonno
vfprintf_pvfprintf_p fprintf_pfprintf_p FluxStream Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vfprintf_s fprintf_sfprintf_s FluxStream Rechercher valeur null et format valide.Check for null and valid format. Nonno
vfwprintf fwprintffwprintf FluxStream Rechercher la valeur null.Check for null. Nonno
vfwprintf_pvfwprintf_p fwprintf_pfwprintf_p FluxStream Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vfwprintf_s fwprintf_sfwprintf_s FluxStream Rechercher valeur null et format valide.Check for null and valid format. Nonno
vprintf printfprintf Stdout Rechercher la valeur null.Check for null. Nonno
vprintf_pvprintf_p printf_pprintf_p Stdout Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vprintf_s printf_sprintf_s Stdout Rechercher valeur null et format valide.Check for null and valid format. Nonno
vwprintf wprintfwprintf Stdout Rechercher la valeur null.Check for null. Nonno
vwprintf_pvwprintf_p wprintf_pwprintf_p Stdout Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vwprintf_s wprintf_swprintf_s Stdout Rechercher valeur null et format valide.Check for null and valid format. Nonno
vsprintfvsprintf sprintfsprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno
vsprintf_pvsprintf_p sprintf_psprintf_p mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vsprintf_s sprintf_ssprintf_s mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher valeur null et format valide.Check for null and valid format. Nonno
vswprintf swprintfswprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno
vswprintf_pvswprintf_p swprintf_pswprintf_p mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher valeur null et format valide.Check for null and valid format. ouiyes
vswprintf_s swprintf_sswprintf_s mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher valeur null et format valide.Check for null and valid format. Nonno
_vscprintf _vscprintf_vscprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno
_vscwprintf _vscwprintf_vscwprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno
_vsnprintf _snprintf_snprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno
_vsnwprintf _snwprintf_snwprintf mémoire vers laquelle pointe la mémoire tamponmemory pointed to by buffer Rechercher la valeur null.Check for null. Nonno

L’argument argptr est de type va_list, qui est défini dans les VARARGS.H et STDARG.H.The argptr argument has type va_list, which is defined in VARARGS.H and STDARG.H. La variable argptr doit être initialisée par va_start et peut être réinitialisée par les appels ultérieurs à va_arg ; argptr pointe ensuite vers le début d’une liste d’arguments qui sont convertis et transmis pour la sortie en fonction des spécifications correspondantes dans l’argument format.The argptr variable must be initialized by va_start, and may be reinitialized by subsequent va_arg calls; argptr then points to the beginning of a list of arguments that are converted and transmitted for output according to the corresponding specifications in the format argument. format a la même forme et la même fonction que l’argument format pour printf.format has the same form and function as the format argument for printf. Aucune de ces fonctions n’appelle va_end.None of these functions invokes va_end. Pour obtenir une description plus complète de chaque fonction vprintf, consultez la description de sa fonction équivalente, comme dans le tableau précédent.For a more complete description of each vprintf function, see the description of its counterpart function as listed in the preceding table.

_vsnprintf diffère de vsprintf en cela qu’il n’écrit pas plus de count octets dans la mémoire tampon._vsnprintf differs from vsprintf in that it writes no more than count bytes to buffer.

Les versions de ces fonctions avec la valeur infix w dans leur nom sont des versions à caractères larges des fonctions correspondantes sans valeur infix w ; dans chacune de ces fonctions à caractères larges, buffer et format sont des chaînes à caractères larges.The versions of these functions with the w infix in the name are wide-character versions of the corresponding functions without the w infix; in each of these wide-character functions, buffer and format are wide-character strings. Dans le cas contraire, chaque fonction à caractères larges a un comportement identique à sa fonction SBCS équivalente.Otherwise, each wide-character function behaves identically to its SBCS counterpart function.

Les versions de ces fonctions avec les suffixes _s et _p sont les versions les plus sécurisées.The versions of these functions with _s and _p suffixes are the more secure versions. Ces versions valident les chaînes de format et génèrent une exception si la chaîne de format n’est pas bien formée (par exemple, si des caractères de formatage non valides sont utilisés).These versions validate the format strings and will generate an exception if the format string is not well formed (for example, if invalid formatting characters are used).

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.The versions of these functions with the _p suffix provide the ability to specify the order in which the supplied arguments are substituted in the format string. Pour plus d’informations, consultez Paramètres positionnels printf_p.For more information, see printf_p Positional Parameters.

Pour vsprintf, vswprintf, _vsnprintf et _vsnwprintf, si une copie se produit entre des chaînes qui se chevauchent, le comportement est indéfini.For vsprintf, vswprintf, _vsnprintf and _vsnwprintf, if copying occurs between strings that overlap, the behavior is undefined.

Important

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur.Ensure that format is not a user-defined string. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.For more information, see Avoiding Buffer Overruns. Si vous utilisez les versions sécurisées de ces fonctions (avec le suffixe _s ou _p), une chaîne de format de fournie par l’utilisateur risque de déclencher 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.If using the secure versions of these functions (either the _s or _p suffixes), a user-supplied format string could trigger an invalid parameter exception if the user-supplied string contains invalid formatting characters.

Voir aussiSee also

E/S de fluxStream I/O
fprintf, _fprintf_l, fwprintf, _fwprintf_lfprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_lprintf, _printf_l, wprintf, _wprintf_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_lsprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l
va_arg, va_copy, va_end, va_startva_arg, va_copy, va_end, va_start