_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
Compara los caracteres de dos cadenas sin distinción entre mayúsculas y minúsculas.
Importante
_mbsnicmp y _mbsnicmp_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 _strnicmp( const char *string1, const char *string2, size_t count ); int _wcsnicmp( const wchar_t *string1, const wchar_t *string2, size_t count ); int _mbsnicmp( const unsigned char *string1, const unsigned char *string2, size_t count ); int _strnicmp_l( const char *string1, const char *string2, size_t count, _locale_t locale ); int _wcsnicmp_l( const wchar_t *string1, const wchar_t *string2, size_t count, _locale_t locale ); int _mbsnicmp_l( const unsigned char *string1, const unsigned char *string2, size_t count, _locale_t locale );
Parámetros
string1, string2
Cadenas terminadas en NULL que se van a comparar.count
Número de caracteres que se van a comparar.locale
Configuración regional que se va a usar.
Valor devuelto
Indica la relación entre las subcadenas, como se muestra a continuación.
Valor devuelto |
Descripción |
---|---|
< 0 |
La subcadena string1 es menor que la subcadena string2. |
0 |
La subcadena string1 es idéntica a la subcadena string2. |
> 0 |
La subcadena string1 es mayor que la subcadena string2. |
Si se produce un error de validación de parámetros, estas funciones devuelven _NLSCMPERROR, que se define en <string.h> y <mbstring.h>.
Comentarios
La función _strnicmp compara ordinalmente, a lo sumo, los primeros count caracteres de string1 y string2. La comparación se realiza sin distinguir entre mayúsculas y minúsculas, ya que todos los caracteres se convierten a minúsculas. _strnicmp es una versión sin distinción entre mayúsculas y minúsculas de strncmp. La comparación finaliza si se llega a un carácter nulo de terminación en una de las cadenas antes de que se comparen count caracteres. Si las cadenas son iguales cuando se llega a un carácter nulo de terminación en una de las cadenas antes de que se comparen count caracteres, la cadena más corta es menor.
Los caracteres 91 a 96 en la tabla ASCII ("[", "\", "]", "^", "_" y "`") se consideran menores que cualquier carácter alfabético. Esta ordenación es idéntica a la de stricmp.
_wcsnicmp y _mbsnicmp son versiones de caracteres anchos y multibyte de _strnicmp. Los argumentos de _wcsnicmp son cadenas de caracteres anchos; los de _mbsnicmp son cadenas de caracteres multibyte. _mbsnicmp reconoce secuencias de caracteres multibyte según la página actual de códigos multibyte y devuelve _NLSCMPERROR cuando se produce un error. Para obtener más información, consulta Páginas de códigos. Estas tres funciones se comportan exactamente igual. Estas funciones se ven afectadas por la configuración regional. Las versiones que no tienen el sufijo _l usan la configuración regional local para el comportamiento que depende de la configuración regional; las versiones que sí tienen el sufijo _l utilizan la locale pasada. Para obtener más información, consulta Configuración regional.
Todas estas funciones validan sus parámetros. Si string1 o string2 es un puntero nulo, 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 |
---|---|---|---|
_tcsncicmp |
_strnicmp |
_mbsnicmp |
_wcsnicmp |
_tcsnicmp |
_strnicmp |
_mbsnbicmp |
_wcsnicmp |
_tcsncicmp_l |
_strnicmp_l |
_mbsnicmp_l |
_wcsnicmp_l |
Requisitos
Rutina |
Encabezado necesario |
---|---|
_strnicmp, _strnicmp_l |
<string.h> |
_wcsnicmp, _wcsnicmp_l |
<string.h> o <wchar.h> |
_mbsnicmp, _mbsnicmp_l |
<mbstring.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad.
Ejemplo
Vea el ejemplo de strncmp.
Equivalente en .NET Framework
Vea también
Referencia
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l
strrchr, wcsrchr, _mbsrchr, _mbsrchr_l