SDL_snprintf3
This works exactly like snprintf() but doesn't require access to a c runtime.
Usage
#include "SDL3/SDL.h"
int SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...);
Header file
Defined in SDL3/SDL_stdinc.h
Overview
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.