SDL_wcsncasecmp(3)
π SDL_wcsncasecmp π
okay bestie, so this is a page from the SDL3 functions manual, and today's main character is SDL_wcsncasecmp β the girl who compares two wide strings, case-insensitively, up to a number of wchar_t. no cap. π
β¨ SYNOPSIS β¨
#include <SDL3/SDL_stdinc.h>
int SDL_wcsncasecmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen);
πΈ DESCRIPTION πΈ
So here's the vibe: this function works with Unicode strings, using a technique called "case-folding" to handle the vast majority of case-sensitive human languages regardless of system locale. she's global, she's multilingual, she's that girl. π
And the way she deals with expanding values?? iconic. a German Eszett character can compare against two ASCII 's' chars and be considered a match, for example. literally ate. π₯
β οΈ but there's a notable exception bestie: it does not handle the Turkish 'i' character. human language is complicated! π
Depending on your platform, "wchar_t" might be 2 bytes, and expected to be UTF-16 encoded (like Windows), or 4 bytes in UTF-32 format. Since this handles Unicode, it expects the string to be well-formed and not a null-terminated string of arbitrary bytes. Characters that are not valid UTF-16 (or UTF-32) are treated as Unicode character U+FFFD (REPLACEMENT CHARACTER), which is to say two strings of random bits may turn out to match if they convert to the same amount of replacement characters. π yes really.
Also note that while this function might deal with variable-sized characters, maxlen specifies a _wchar_ limit! If the limit lands in the middle of a multi-byte UTF-16 sequence, it may convert a portion of the final character to one or more Unicode character U+FFFD (REPLACEMENT CHARACTER) so as not to overflow a buffer. safety first, always. π«Ά
maxlen specifies a maximum number of wchar_t values to compare; if the strings match to this number of wchar_t (or both have matched to a null-terminator character before this number of bytes), they will be considered equal. periodt. β¨
π FUNCTION PARAMETERS π
str1β the first string to compare.NULLis not permitted! π«str2β the second string to compare.NULLis not permitted! π«maxlenβ the maximum number ofwchar_tvalues 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. three moods, one function. π
π§ THREAD SAFETY π§
It is safe to call this function from any thread. multithreaded queen fr fr. π
β AVAILABILITY β
This function is available since SDL 3.2.0.
and that's the whole page bestie!! π this lil cutie came to you from the Simple Directmedia Layer crew, version SDL 3.4.18, and yeah β SDL_wcsncasecmp(3) is out here living her best life. go forth and compare your wide strings, ily, bye!! πβ¨π¦πΈπ
π¦ where this page comes from
- fedora 43: SDL3-devel 3.4.18-1.fc43 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 43: SDL3-devel 3.4.18-1.fc43 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 44: SDL3-devel 3.4.18-1.fc44 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- fedora 44: SDL3-devel 3.4.18-1.fc44 Β· Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 OR MIT)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms