The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

wcscoll, wcscoll_l — wide-character string comparison using collating information

SYNOPSIS

#include <wchar.h>

int wcscoll(const wchar_t *
ws1, const wchar_t *ws2);

[CX] [Option Start] int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2,
       locale_t
locale); [Option End]

DESCRIPTION

For wcscoll(): [CX] [Option Start]  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. [Option End]

The wcscoll() [CX] [Option Start]  and wcscoll_l() [Option End]  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] [Option Start]  or the locale represented by locale, [Option End]  respectively.

The wcscoll() [CX] [Option Start]  and wcscoll_l() [Option End]  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] [Option Start]  or wcscoll_l(). [Option End]  If errno is non-zero on return, an error has occurred.

[CX] [Option Start] 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. [Option End]

RETURN VALUE

Upon successful completion, wcscoll() [CX] [Option Start]  and wcscoll_l() [Option End]  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] [Option Start]  or to the locale represented by locale, [Option End]  respectively. On error, wcscoll() [CX] [Option Start]  and wcscoll_l() [Option End]  shall set errno, but no return value is reserved to indicate an error.

ERRORS

These functions may fail if:

[EINVAL]
[CX] [Option Start] The ws1 or ws2 arguments contain wide-character codes outside the domain of the collating sequence. [Option End]

The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

The wcsxfrm() and wcscmp() functions should be used for sorting large lists.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

wcscmp , wcsxfrm

XBD <wchar.h>

CHANGE HISTORY

First released in Issue 4. Derived from the MSE working draft.

Issue 5

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.

Issue 7

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.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]