vsnprintf — Format a string and place it in a buffer
The buffer to place the result into
The size of the buffer, including the trailing null space
The format string to use
Arguments for the format string
The return value is the number of characters which would be generated for the given input, excluding the trailing '\0', as per ISO C99. If you want to have the exact number of characters written into buf as return value (not including the trailing '\0'), use vscnprintf. If the return is greater than or equal to size, the resulting string is truncated.
Call this function if you are already dealing with a va_list. You probably want snprintf instead.