This works exactly like wcsnlen() but doesn't require access to a C runtime.
Defined in <SDL3/SDL_stdinc.h>
size_t SDL_wcsnlen(const wchar_t *wstr, size_t maxlen);
const wchar_t * | wstr | The null-terminated wide string to read. Must not be NULL. |
size_t | maxlen | The maximum amount of wide characters to count. |
(size_t) Returns the length (in wide characters, excluding the null terminator) of wstr
but never more than maxlen
.
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!
It is safe to call this function from any thread.
This function is available since SDL 3.1.3.