sdlWcsncmp function

int sdlWcsncmp(
  1. Pointer<Int16> str1,
  2. Pointer<Int16> str2,
  3. int maxlen
)

Compare two wide strings up to a number of wchar_t values.

This only compares wchar_t values; it does not care if the string is well-formed UTF-16 (or UTF-32, depending on your platform's wchar_t size), or uses valid Unicode values.

Note that while this function is intended to be used with UTF-16 (or UTF-32, depending on your platform's definition of wchar_t), it is comparing raw wchar_t values and not Unicode codepoints: maxlen specifies a wchar_t limit! If the limit lands in the middle of a multi-wchar UTF-16 sequence, it will only compare a portion of the final character.

maxlen specifies a maximum number of wchar_t to compare; if the strings match to this number of wide chars (or both have matched to a null-terminator character before this count), they will be considered equal.

\param str1 the first string to compare. NULL is not permitted! \param str2 the second string to compare. NULL is not permitted! \param maxlen the maximum number of wchar_t to compare. \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.

\threadsafety It is safe to call this function from any thread.

\since This function is available since SDL 3.1.3.

extern SDL_DECLSPEC int SDLCALL SDL_wcsncmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen)

Implementation

int sdlWcsncmp(Pointer<Int16> str1, Pointer<Int16> str2, int maxlen) {
  final sdlWcsncmpLookupFunction = libSdl3.lookupFunction<
      Int32 Function(Pointer<Int16> str1, Pointer<Int16> str2, Uint32 maxlen),
      int Function(
          Pointer<Int16> str1, Pointer<Int16> str2, int maxlen)>('SDL_wcsncmp');
  return sdlWcsncmpLookupFunction(str1, str2, maxlen);
}