WCSCOLL(3)

NAME
wcscoll, wcscoll_l - compare wide strings according to current collation

SYNOPSIS
#include <wchar.h>
int
wcscoll(const wchar_t *s1, const wchar_t *s2);
#include <xlocale.h>
int
wcscoll_l(const wchar_t *s1, const wchar_t *s2, locale_t loc);

DESCRIPTION
The wcscoll() function compares the null-terminated strings s1 and s2 according to the current locale collation order. The wcscoll_l() function does the same but using the locale given as parameter.

In the “C” locale, wcscoll() is equivalent to wcscmp().

RETURN VALUES
The wcscoll() and wcscoll_l() functions return an integer greater than, equal to, or less than 0, if s1 is greater than, equal to, or less than s2.

No return value is reserved to indicate errors; callers should set errno to 0 before calling these functions. If it is non-zero upon return from these function an error has occurred.

ERRORS
The wcscoll() and wcscoll_l() function will fail if:

[EILSEQ]
    An invalid wide character code was specified.

[ENOMEM]
    Cannot allocate enough memory for temporary buffers.

SEE ALSO
setlocale(3), strcoll(3), wcscmp(3), wcsxfrm(3) xlocale(3)

STANDARDS
The wcscoll() function conforms to ISO/IEC 9899/AMD1:1995 (“ISO C99”).

The wcscoll_l() function is a Darwin extension.

BUGS
WCSCOLL(3)

The current implementation is enough only for single byte encodings and UTF-8 translatable to ISO8859-1.

NAME
wcscoll, wcscoll_l - compare wide strings according to the current collation

SYNOPSIS
#include <wchar.h>
int
wcscoll(const wchar_t *s1, const wchar_t *s2);
int
wcscoll_l(const wchar_t *s1, const wchar_t *s2, locale_t locale);

DESCRIPTION
The wcscoll() and wcscoll_l() functions lexicographically compare the NUL-terminated wide strings s1 and s2 according to the current locale collation and return an integer greater than, equal to, or less than 0, according to whether s1 is greater than, equal to, or less than s2.

On OpenBSD, they have the same effect as wcscmp(3), and the global locale, the thread-specific locale, and the locale argument are ignored. On other operating systems, the results may depend on the LC_CTYPE and LC_COLLATE locale categories set with setlocale(3), uselocale(3), or newlocale(3).

SEE ALSO
newlocale(3), setlocale(3), wcscmp(3), wcsxfrm(3)

STANDARDS
The wcscoll() function conforms to isoC-99, and wcscoll_l() to p1003.1-2008.

HISTORY
The wcscoll() function has been available since OpenBSD 4.8, and wcscoll_l() since OpenBSD 6.2.