_vscprintf_p, _vscprintf_p_l, _vscwprintf_p, _vscwprintf_p_l
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at _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.
Syntax
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
.
Important
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.
See Also
vprintf Functions
_scprintf_p, _scprintf_p_l, _scwprintf_p, _scwprintf_p_l
_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l