SDL_snprintf(3)

NAME
SDL_snprintf - This works exactly like snprintf() but doesn't require access to a C runtime.

SYNOPSIS
#include <SDL3/SDL_stdinc.h>

int SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...);

DESCRIPTION
Format a string of up to maxlen-1 bytes, converting each '%' item with values provided through variable arguments.

While some C runtimes differ on how to deal with too-large strings, this function null-terminates the output, by treating the null-terminator as part of the maxlen count. Note that if maxlen is zero, however, no bytes will be written at all.

This function returns the number of _bytes_ (not _characters_) that should be written, excluding the null-terminator character. If this returns a number >= maxlen, it means the output string was truncated. A negative return value means an error occurred.

Referencing the output string's pointer with a format item is undefined behavior.

FUNCTION PARAMETERS

text
    the buffer to write the string into. Must not be NULL.

maxlen
    the maximum bytes to write, including the null-terminator.

fmt a printf-style format string. Must not be NULL.

... a list of values to be used with the format string.

RETURN VALUE
Returns the number of bytes that should be written, not counting the null-terminator char, or a negative value on error.

THREAD SAFETY
It is safe to call this function from any thread.

AVAILABILITY
This function is available since SDL 3.2.0.