_vscprintf_p, _vscprintf_p_l, _vscwprintf_p, _vscwprintf_p_l

 

For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

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.

_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.

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.

System_CAPS_ICON_important.jpg 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
RoutineRequired 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.

See the example for vsprintf.

vprintf Functions
_scprintf_p, _scprintf_p_l, _scwprintf_p, _scwprintf_p_l
_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l

Show: