### wcscoll -- Compare Wide-Character Strings

Format

>     #include <wchar.h>
>     int wcscoll(const wchar_t *wcstr1, const wchar_t *wcstr2);

Language Level: ANSI 93, XPG4
wcscoll compares the wide-character string pointed to by wcstr1 to the wide-character string pointed to by wcstr2, both interpreted according to the information in the LC_COLLATE category of the current locale.

wcscoll differs from the wcscmp function. wcscoll performs a comparison between two wide-character strings based on language collation rules as controlled by the LC_COLLATE category. In contrast, wcscmp performs a wide-character code to wide-character code comparison.

Return Value
wcscoll returns an integer value indicating the relationship between the strings, as listed below:

Value | Meaning
Less than 0 | wcstr1 less than wcstr2
0 | wcstr1 equivalent to wcstr2
Greater than 0 | wcstr1 greater than wcstr2

On both OS/2 and Windows, if wcs1 or wcs2 contain characters outside the domain of the collating sequence, wcscoll sets errno to EILSEQ.

If an error occurs, wcscoll sets errno to a nonzero value. There is no error return value.

Example
This example uses wcscoll to compare two wide-character strings.

    #include <wchar.h>
    #include <locale.h>
    #include <stdio.h>
    #include <stdlib.h>

    #define LOCNAME "ja_jp.ibm-932"

    int main(void)
    {
       wchar_t *wcs1 = L"A wide string";
       wchar_t *wcs2 = L"a wide string";
       int     result;

       if (NULL == setlocale(LC_ALL, LOCNAME)) {
          printf("Locale \"%s\" could not be loaded\n", LOCNAME);
          exit(1);
       }
       result = wcscoll(wcs1, wcs2);
       if (0 == result)
          printf("\"%ls\" is identical to \"%ls\"\n", wcs1, wcs2);
       else if (0 > result)
          printf("\"%ls\" is less than \"%ls\"\n", wcs1, wcs2);
       else
          printf("\"%ls\" is greater than \"%ls\"\n", wcs1, wcs2);
       return 0;

       /***********************************************************
          The output should be similar to:

          "A wide string" is less than "a wide string"
       ***********************************************************/
    }

strcoll -- Compare Strings Using Collation Rules
setlocale -- Set Locale
wcscmp -- Compare Wide-Character Strings
<wchar.h>