# SDL_vasprintf This works exactly like vasprintf() but doesn't require access to a C runtime. ## Header File Defined in [<SDL3/SDL_stdinc.h>](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_stdinc.h) ## Syntax ```c int SDL_vasprintf(char **strp, const char *fmt, va_list ap); ``` ## Function Parameters | | | | | ------------ | -------- | ------------------------------------------------------ | | char ** | **strp** | on output, is set to the new string. Must not be NULL. | | const char * | **fmt** | a printf-style format string. Must not be NULL. | | va_list | **ap** | a `va_list` values to be used with the format string. | ## Return Value (int) Returns the number of bytes in the newly-allocated string, not counting the null-terminator char, or a negative value on error. ## Remarks Functions identically to [SDL_asprintf](SDL_asprintf)(), except it takes a `va_list` instead of using `...` variable arguments. ## Thread Safety It is safe to call this function from any thread. ## Version This function is available since SDL 3.2.0. ---- [CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryStdinc](CategoryStdinc)