WCSCOLL(3)

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

LIBRARY
libc

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() function compares the null-terminated strings s1 and s2 according to the current locale collation order. In the “C” locale, wcscoll() is equivalent to wcscmp().

The wcscoll_l() function is identical to wcscoll() but takes an explicit locale argument, whereas wcscoll() uses the current global or per-thread locale.

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 wcscoll(). If it is non-zero upon return from wcscoll(), an error has occurred.

ERRORS
The wcscoll() and wcscoll_l() functions 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)

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

BUGS
The current implementation of wcscoll() and wcscoll_l() only works in single-byte LC_CTYPE locales, and falls back to using wcscmp() in locales with extended character sets.