This documentation is archived and is not being maintained.

_stricoll, _wcsicoll, _mbsicoll

Compare strings using locale-specific information.

int _stricoll(
   const char *string1,
   const char *string2 
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2 
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2 


string1, string2
Null-terminated strings to compare.

Return Value

Each of these functions returns a value indicating the relationship of string1 to string2, as follows.

Return value Relationship of string1 to string2
< 0 string1 less than string2
0 string1 identical to string2
> 0 string1 greater than string2

Each of these functions returns _NLSCMPERROR. To use _NLSCMPERROR, include either STRING.H or MBSTRING.H. _wcsicoll can fail if either string1 or string2 contains wide-character codes outside the domain of the collating sequence. When an error occurs, _wcsicoll may set errno to EINVAL. To check for an error on a call to _wcsicoll, set errno to 0 and then check errno after calling _wcsicoll.


Each of these functions performs a case-insensitive comparison of string1 and string2 according to the code page currently in use. These functions should be used only when there is a difference between the character set order and the lexicographic character order in the current code page and this difference is of interest for the string comparison.

_stricmp differs from _stricoll in that the _stricmp comparison is affected by LC_CTYPE, whereas the _stricoll comparison is according to the LC_CTYPE and LC_COLLATE categories of the current locale. For more information on the LC_COLLATE category, see setlocale and Locale Categories.

Generic-Text Routine Mappings

TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
_tcsicoll _stricoll _mbsicoll _wcsicoll


Routine Required header Compatibility
_stricoll <string.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_wcsicoll <wchar.h>, <string.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_mbsicoll <mbstring.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.

See Also

Locale Routines, String Manipulation Routines | strcoll Functions Overview | localeconv | _mbsnbcoll | setlocale | strcmp | _stricmp | strncmp | _strnicmp | strxfrm | Run-Time Routines and .NET Framework Equivalents