---
name: "SDL_wcsnlen"
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_wcsnlen"
---

# SDL\_wcsnlen(3)

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

## NAME

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

## HEADER FILE

Defined in SDL3/SDL\_stdinc.h

## SYNOPSIS

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

**size\_t SDL\_wcsnlen(const wchar\_t \*wstr, size\_t maxlen);**

## DESCRIPTION

Counts up to a maximum of **maxlen** wchar\_t values in **wstr** , excluding the null terminator.

Like  **SDL\_strnlen**\
  only counts bytes and not codepoints in a UTF-8 string, this counts wchar\_t values in a string, even if the string's encoding is of variable width, like UTF-16.

Also be aware that wchar\_t is different sizes on different platforms (4 bytes on Linux, 2 on Windows, etc).

Also, **maxlen** is a count of wide characters, not bytes!

## FUNCTION PARAMETERS

- *wstr*

  The null-terminated wide string to read. Must not be NULL.

- *maxlen*

  The maximum amount of wide characters to count.

## RETURN VALUE

Returns the length (in wide characters, excluding the null terminator) of **wstr** but never more than **maxlen** .

## THREAD SAFETY

It is safe to call this function from any thread.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_wcslen**(3)](/SDL_wcslen/3.md), **•**(3), [**SDL\_utf8strlen**(3)](/SDL_utf8strlen/3.md), **•**(3), [**SDL\_utf8strnlen**(3)](/SDL_utf8strnlen/3.md)
