---
name: "SDL_snprintf"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_snprintf"
---

# SDL\_snprintf(3)

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

## NAME

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

## HEADER FILE

Defined in SDL3/SDL\_stdinc.h

## SYNOPSIS

```
#include "SDL3/SDL.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.
