# SDL_snprintf This works exactly like snprintf() but doesn't require access to a C runtime. ## Header File Defined in [](https://github.com/libsdl-org/SDL/blob/main/include/SDL3/SDL_stdinc.h) ## Syntax ```c int SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...); ``` ## Function Parameters | | | | | ------------ | ---------- | ---------------------------------------------------------- | | char * | **text** | the buffer to write the string into. Must not be NULL. | | size_t | **maxlen** | the maximum bytes to write, including the null-terminator. | | const char * | **fmt** | a printf-style format string. Must not be NULL. | | ... | **...** | a list of values to be used with the format string. | ## Return Value (int) Returns the number of bytes that should be written, not counting the null-terminator char, or a negative value on error. ## Remarks 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. ## 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)