Share via


_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