Compartir a través de


_mbsnbcmp, _mbsnbcmp_l

Compara los primeros bytes de n de dos cadenas de multibyte- carácter.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

int _mbsnbcmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbcmp_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Parámetros

  • string1, string2
    Las cadenas a comparar.

  • count
    El número de bytes que se va a comparar.

  • locale
    La configuración regional a utilizar.

Valor devuelto

El valor devuelto indica la relación entre las subcadenas de string1 y string.

Valor devuelto

Descripción

< 0

la subcadena de string1 es menor que la de string2.

0

la subcadena de string1 es idéntica a la subcadena de string2.

> 0

la subcadena de string1 es mayor que la de string2.

En un error, _mbsnbcmp devuelve _NLSCMPERROR, que se define en String.h y Mbstring.h.

Comentarios

La función de _mbsnbcmp lexicográficamente compara, como máximo, los primeros bytes de count en string1 y string2 y devuelve un valor que indica la relación entre las subcadenas._mbsnbcmp es una versión con distinción entre mayúsculas y minúsculas de _mbsnbicmp.A diferencia de strcoll, _mbsnbcmp no afecta a la configuración regional._mbsnbcmp reconoce secuencias de multibyte- carácter como multibyte actual página de códigos.

_mbsnbcmp se parece a _mbsncmp, salvo que _mbsncmp compara las cadenas por caracteres no por los bytes.

El valor de salida se vea afectado por el valor de categoría de LC_CTYPE de configuración regional; vea setlocale para obtener más información.La versión de esta función que no tenga el sufijo de _l utiliza la configuración regional actual para este comportamiento configuración regional-dependiente; la versión que tiene el sufijo de _l es idéntica salvo que ella utiliza el parámetro de configuración regional que se pasa en su lugar.Para obtener más información, vea Configuración regional.

Si string1 o string2 es un puntero NULL, esta función invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros.Si la ejecución puede continuar, la función devuelve _NLSCMPERROR y errno se establece en EINVAL.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsncmp

strncmp

_mbsnbcmp

wcsncmp

_tcsncmp_l

strncmp

_mbsnbcml

wcsncmp

Requisitos

Rutina

Encabezado necesario

_mbsnbcmp

<mbstring.h>

_mbsnbcmp_l

<mbstring.h>

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

Ejemplo

// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>

char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";

int main( void )
{
   char tmp[20];
   int result;
   printf( "Compare strings:\n          %s\n", string1 );
   printf( "          %s\n\n", string2 );
   printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
   result = _mbsncmp( string1, string2 , 10 );
   if( result > 0 )
      _mbscpy_s( tmp, sizeof(tmp), "greater than" );
   else if( result < 0 )
      _mbscpy_s( tmp, sizeof(tmp), "less than" );
   else
      _mbscpy_s( tmp, sizeof(tmp), "equal to" );
   printf( "Result:   String 1 is %s string 2\n\n", tmp );
   printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
   result = _mbsnicmp( string1, string2, 10 );
   if( result > 0 )
      _mbscpy_s( tmp, sizeof(tmp), "greater than" );
   else if( result < 0 )
      _mbscpy_s( tmp, sizeof(tmp), "less than" );
   else
      _mbscpy_s( tmp, sizeof(tmp), "equal to" );
   printf( "Result:   String 1 is %s string 2\n\n", tmp );
}

Output

Compare strings:
          The quick brown dog jumps over the lazy fox
          The QUICK brown fox jumps over the lazy dog

Function: _mbsnbcmp (first 10 characters only)
Result:   String 1 is greater than string 2

Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result:   String 1 is equal to string 2

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Manipulación de cadenas (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbicmp, _mbsnbicmp_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

Configuración regional

Interpretación de secuencias de Multibyte- Carácter