wmemcmp — compare wide characters in memory
#include <wchar.h>
int wmemcmp(const wchar_t *ws1, const wchar_t *ws2, size_t n);
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.The wmemcmp() function shall compare the first n wide characters of the object pointed to by ws1 to the first n wide characters of the object pointed to by ws2. This function shall not be affected by locale and all wchar_t values shall be treated identically. The null wide character and wchar_t values not corresponding to valid characters shall not be treated specially.
If n is zero, the application shall ensure that ws1 and ws2 are valid pointers, and the function shall behave as if the two objects compare equal.
[CX] The wmemcmp() function shall not change the setting of errno on valid input.
The wmemcmp() function shall return an integer greater than, equal to, or less than zero, respectively, as the object pointed to by ws1 is greater than, equal to, or less than the object pointed to by ws2.
No errors are defined.
None.
None.
None.
None.
wmemchr, wmemcpy, wmemmove, wmemset
XBD <wchar.h>
First released in Issue 5. Included for alignment with ISO/IEC 9899:1990/Amendment 1:1995 (E).
The normative text is updated to avoid use of the term "must" for application requirements.
Austin Group Defect 448 is applied, adding a requirement that wmemcmp() does not change the setting of errno on valid input.
return to top of page