SDL Wiki

SDL_snprintf

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

Header File

Defined in <SDL3/SDL_stdinc.h>

Syntax

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, CategoryAPIFunction, CategoryStdinc


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.