---
name: "SDL_strncmp"
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_strncmp"
---

# SDL\_strncmp(3)

Compare two UTF-8 strings up to a number of bytes.

## NAME

SDL\_strncmp - Compare two UTF-8 strings up to a number of bytes.

## HEADER FILE

Defined in SDL3/SDL\_stdinc.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**int SDL\_strncmp(const char \*str1, const char \*str2, size\_t maxlen);**

## DESCRIPTION

Due to the nature of UTF-8 encoding, this will work with Unicode strings, since effectively this function just compares bytes until it hits a null-terminating character. Also due to the nature of UTF-8, this can be used with  **SDL\_qsort** () to put strings in (roughly) alphabetical order.

Note that while this function is intended to be used with UTF-8, it is doing a bytewise comparison, and **maxlen** specifies a \_byte\_ limit! If the limit lands in the middle of a multi-byte UTF-8 sequence, it will only compare a portion of the final character. **maxlen** specifies a maximum number of bytes to compare; if the strings match to this number of bytes (or both have matched to a null-terminator character before this number of bytes), they will be considered equal.

## FUNCTION PARAMETERS

- *str1*

  the first string to compare. NULL is not permitted!

- *str2*

  the second string to compare. NULL is not permitted!

- *maxlen*

  the maximum number of \_bytes\_ to compare.

## RETURN VALUE

Returns less than zero if str1 is "less than" str2, greater than zero if str1 is "greater than" str2, and zero if the strings match exactly.

## THREAD SAFETY

It is safe to call this function from any thread.

## AVAILABILITY

This function is available since SDL 3.2.0.
