strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

 

Publicado: julio de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Compara cadenas usando la configuración regional actual o una categoría de conversión de estado LC_COLLATE especificada.

System_CAPS_ICON_important.jpg Importante

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

int strcoll(  
   const char *string1,  
   const char *string2   
);  
int wcscoll(  
   const wchar_t *string1,  
   const wchar_t *string2   
);  
int _mbscoll(  
   const unsigned char *string1,  
   const unsigned char *string2   
);  
int _strcoll_l(  
   const char *string1,  
   const char *string2,  
   _locale_t locale   
);  
int wcscoll_l(  
   const wchar_t *string1,  
   const wchar_t *string2,  
   _locale_t locale   
);  
int _mbscoll_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.

Cada una de estas funciones devuelve un valor que indica la relación de string1 a string2 , como sigue.

Valor devueltoRelación de string1 y string2
< 0string1 es menor que string2
0string1 es idéntica a string2
> 0string1 es mayor que string2

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

Cada una de estas funciones compara, con 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.

Todas estas funciones validan sus parámetros. Si el valor string1 o string2 es un puntero nulo, o si count es mayor que INT_MAX, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro . Si la ejecución puede continuar, estas funciones devuelven _NLSCMPERROR y establecen errno en EINVAL.

La comparación de las dos cadenas es una operación dependiente de la configuración regional, ya que cada configuración regional tiene distintas reglas para ordenar los caracteres. Las versiones de estas funciones sin el sufijo _l usan la configuración regional del subproceso actual para este comportamiento dependiente de la configuración regional; las versiones con el sufijo _l son idénticas a la función correspondiente sin el sufijo, salvo que usan la configuración regional que se pasa como parámetro en lugar de la configuración regional actual. Para obtener más información, vea Locale.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H_UNICODE y _MBCS no definidos_MBCS definido_UNICODE definido
_tcscollstrcoll_mbscollwcscoll
RutinaEncabezado necesario
strcoll<string.h>
wcscoll<wchar.h>, <string.h>
_mbscoll, _mbscoll_l<mbstring.h>
_strcoll_l<string.h>
_wcscoll_l<wchar.h>, <string.h>

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

System::String::Compare

Configuración regional
Manipulación de cadenas
strcoll (función)
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

Mostrar: