Compartir a través de


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Compara cadenas usando información específica de la configuración regional.

Importante

_mbsicoll y _mbsicoll_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /ZW.

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 
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

Parámetros

  • string1, string2
    Cadenas terminadas en NULL que se van a comparar.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Cada una de estas funciones devuelve un valor que indica la relación entre string1 y string2*,* como se indica a continuación.

Valor devuelto

Relación de string1 y string2

< 0

string1 es menor que string2

0

string1 es idéntica a string2

> 0

string1 es mayor que string2

_NLSCMPERROR

Error.

Cada una de estas funciones devuelve _NLSCMPERROR. Para usar _NLSCMPERROR, incluya STRING.H o MBSTRING.H. _wcsicoll puede producir un error si string1 o string2 contiene códigos de caracteres anchos fuera del dominio de la secuencia de intercalación. Cuando se produce un error, _wcsicoll puede establecer errno en EINVAL. Para comprobar si hay un error en una llamada a _wcsicoll, establezca errno en 0 y observe errno después de llamar a _wcsicoll.

Comentarios

Cada una de estas funciones compara, sin distinción entre mayúsculas y minúsculas, string1 con string2, de acuerdo con la página de códigos actualmente en uso. Estas funciones solo se deben usar cuando el orden del juego de caracteres y el orden de los caracteres lexicográficos son distintos en la página de códigos actual, y la diferencia influye en la comparación de cadenas.

_stricmp se diferencia de _stricoll en que la comparación _stricmp se ve afectada por LC_CTYPE, mientras que la comparación _stricoll se realiza en función de las categorías LC_CTYPE y LC_COLLATE de la configuración regional. Para obtener más información sobre la categoría LC_COLLATE, vea setlocale y Categorías de configuración regional. Las versiones de estas funciones sin el sufijo _l usan la configuración regional actual; las versiones con el sufijo _l son idénticas salvo que usan el parámetro de configuración regional que se pasa. Para obtener más información, vea Configuración regional.

Todas estas funciones validan sus parámetros. Si string1 o string2 es un puntero a NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven _NLSCMPERROR y establecen errno en EINVAL.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Requisitos

Rutina

Encabezado necesario

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

<mbstring.h>

Para obtener más información sobre compatibilidad, vea Compatibilidad.

Equivalente en .NET Framework

System::String::Compare

Vea también

Referencia

Configuración regional

Manipulación de cadenas (CRT)

strcoll (Funciones)

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale, _wsetlocale

strcmp, wcscmp, _mbscmp

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l