SDL_utf8strnlen - Count the number of codepoints in a UTF-8 string, up to n bytes.
Contents
Availability
This function is available since SDL 3.2.0.
Description
Counts the _codepoints_, not _bytes_, in str, excluding the null terminator.
If you need to count the bytes in a string instead, consider using SDL_strnlen().
The counting stops at bytes bytes (not codepoints!). This seems counterintuitive, but makes it easy to
express the total size of the string's buffer.
Since this handles Unicode, it expects the strings to be well-formed UTF-8 and not a null-terminated
string of arbitrary bytes. Bytes that are not valid UTF-8 are treated as Unicode character U+FFFD
(REPLACEMENT CHARACTER), so a malformed or incomplete UTF-8 sequence might increase the count by several
replacement characters.
Function Parameters
str The null-terminated UTF-8 string to read. Must not be NULL.
bytes The maximum amount of bytes to count.
Name
SDL_utf8strnlen - Count the number of codepoints in a UTF-8 string, up to n bytes.
Return Value
Returns The length (in codepoints, excluding the null terminator) of src but never more than maxlen.
See Also
SDL_utf8strlen(3), SDL_strnlen(3) Simple Directmedia Layer SDL 3.2.20 SDL_utf8strnlen(3)
Synopsis
#include<SDL3/SDL_stdinc.h>size_tSDL_utf8strnlen(constchar*str,size_tbytes);
Thread Safety
It is safe to call this function from any thread.
