wcscoll, wcscoll_l - wide-character string comparison using collating information
#include <wchar.h>
int wcscoll(const wchar_t *ws1, const wchar_t *ws2);
[CX] int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2,
locale_t locale);
For wcscoll(): [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-2017 defers to the ISO C standard.
The wcscoll() [CX] and wcscoll_l() functions shall compare the wide-character string pointed to by ws1 to the wide-character string pointed to by ws2, both interpreted as appropriate to the LC_COLLATE category of the current locale, [CX] or the locale represented by locale, respectively.
The wcscoll() [CX] and wcscoll_l() functions shall not change the setting of errno if successful.
An application wishing to check for error situations should set errno to 0 before calling wcscoll() [CX] or wcscoll_l(). If errno is non-zero on return, an error has occurred.
[CX] The behavior is undefined if the locale argument to wcscoll_l() is the special locale object LC_GLOBAL_LOCALE or is not a valid locale object handle.
Upon successful completion, wcscoll() [CX] and wcscoll_l() shall return an integer greater than, equal to, or less than 0, according to whether the wide-character string pointed to by ws1 is greater than, equal to, or less than the wide-character string pointed to by ws2, when both are interpreted as appropriate to the current locale, [CX] or to the locale represented by locale, respectively. On error, wcscoll() [CX] and wcscoll_l() shall set errno, but no return value is reserved to indicate an error.
These functions may fail if:
- [EINVAL]
- [CX] The ws1 or ws2 arguments contain wide-character codes outside the domain of the collating sequence.
None.
The wcsxfrm() and wcscmp() functions should be used for sorting large lists.
None.
None.
XBD <wchar.h>
First released in Issue 4. Derived from the MSE working draft.
Moved from ENHANCED I18N to BASE and the [ENOSYS] error is removed.
The DESCRIPTION is updated to indicate that errno is not changed if the function is successful.
The wcscoll_l() function is added from The Open Group Technical Standard, 2006, Extended API Set Part 4.
POSIX.1-2008, Technical Corrigendum 1, XSH/TC1-2008/0719 [302], XSH/TC1-2008/0720 [283], and XSH/TC1-2008/0721 [283] are applied.
return to top of page