WCSCOLL(3)

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

LIBRARY
libc

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

DESCRIPTION
The wcscoll() function compares the null-terminated strings ws1 and ws2, according to the current locale's collation order. In the “C” locale, wcscoll() is equivalent to wcscmp().

Although the wcscoll() function uses the current locale, the wcscoll_l() function may be passed a locale directly. See xlocale(3) for more information.

RETURN VALUES
The wcscoll() function returns an integer greater than, equal to, or less than 0, if ws1 is greater than, equal to, or less than ws2.

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() 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 isoC-99.

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