_vscprintf_p, _vscprintf_p_l, _vscwprintf_p, _vscwprintf_p_l
Returns the number of characters in the formatted string using a pointer to a list of arguments, with the ability to specify the order in which the arguments are used.
int _vscprintf_p(
const char *format,
va_list argptr
);
int _vscprintf_p _l(
const char *format,
locale_t locale,
va_list argptr
);
int _vscwprintf_p (
const wchar_t *format,
va_list argptr
);
int _vscwprintf_p _l(
const wchar_t *format,
locale_t locale,
va_list argptr
);
Parameters
format
Format-control string.argptr
Pointer to list of arguments.locale
The locale to use.
For more information, see Format Specifications.
Return Value
_vscprintf_p returns the number of characters that would be generated if the string pointed to by the list of arguments was printed or sent to a file or buffer using the specified formatting codes. The value returned does not include the terminating null character. _vscwprintf_p performs the same function for wide characters.
Remarks
These functions differ from _vscprintf and _vscwprintf only in that they support the ability to specify the order in which the arguments are used. For more information, see printf_p Positional Parameters.
The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
If format is a null pointer, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, the functions return -1 and set errno to EINVAL.
Security Note |
---|
Ensure that if format is a user-defined string, it is null terminated and has the correct number and type of parameters. For more information, see Avoiding Buffer Overruns. |
Generic-Text Routine Mappings
TCHAR.H routine |
_UNICODE & _MBCS not defined |
_MBCS defined |
_UNICODE defined |
---|---|---|---|
_vsctprintf_p |
_vscprintf_p |
_vscprintf_p |
_vscwprintf_p |
_vsctprintf_p_l |
_vscprintf_p_l |
_vscprintf_p_l |
_vscwprintf_p_l |
Requirements
Routine |
Required header |
---|---|
_vscprintf_p, _vscprintf_p_l |
<stdio.h> |
_vscwprintf_p, _vscwprintf_p_l |
<stdio.h> or <wchar.h> |
For additional compatibility information, see Compatibility in the Introduction.
Example
See the example for vsprintf.