This works exactly like asprintf() but doesn't require access to a C runtime.
Defined in <SDL3/SDL_stdinc.h>
int SDL_asprintf(char **strp, const char *fmt, ...);
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. |
... | ... | a list of values to be used with the format string. |
(int) Returns the number of bytes in the newly-allocated string, not counting the null-terminator char, or a negative value on error.
Functions identically to SDL_snprintf(), except it allocates a buffer large enough to hold the output string on behalf of the caller.
On success, this function returns the number of bytes (not characters) comprising the output string, not counting the null-terminator character, and sets *strp
to the newly-allocated string.
On error, this function returns a negative number, and the value of *strp
is undefined.
The returned string is owned by the caller, and should be passed to SDL_free when no longer needed.
It is safe to call this function from any thread.
This function is available since SDL 3.1.3.