chsvlib
chsv helper source code

◆ vsnPrintf()

int Chusov::String::vsnPrintf ( CHAR_TYPE *restrict  pDest,
std::size_t  cchDest,
const CHAR_TYPE *restrict  pszFormat,
va_list  ap 
)
noexcept

Resolves to vsnPrintfA or to vsnPrintfW depending on the template parameter.

Template Parameters
CHAR_TYPEis a template parameter specifying a type of strings the template specialization is to work with. That is CHAR_TYPE=char for multibyte strings in the current locale or CHAR_TYPE=wchar_t for wide strings. The corresponding functions, wrapped over by the template specializations, are vsnPrintfA and vsnPrintfW.
Parameters
[out]pDestis a pointer to the output buffer where the converted string is to be written to. A size, in characters, of the buffer is specified by cchDest.
[in]cchDestis a size, in characters, of the output buffer. If cchDest is zero, pDest may be a null pointer. At most \((cchDest - 1)\) characters of the formatted string are written to the output buffer. A zero terminator is always appended to the end of the output string.
[in]pszFormatis a pointer to a zero terminated string defining how to interpret data, passed as additional parameters, during the construction of the output.
[in]apis a variable argument list containing data used to construct an output string according to the format.
Returns
On success the function returns a number of characters that would have been written had cchDest been sufficiently large, not counting the terminating zero. If an error occurs the function returns a negative number setting the corresponding errno code.

See vsnPrintfA and vsnPrintfW for the details.