Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

Compara los caracteres de dos cadenas usando la configuración regional actual u otra especificada.

Nota importante Importante

_mbsncmp y _mbsncmp_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 strncmp(
   const char *string1,
   const char *string2,
   size_t count 
);
int wcsncmp(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count 
);
int _mbsncmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsncmp_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count, 
   _locale_t locale
);int _mbsnbcmp(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);

string1, string2

Cadenas que se van a comparar.

count

Número de caracteres que se van a comparar.

locale

Configuración regional que se va a usar.

El valor devuelto indica la relación de las subcadenas de string1 y de string2 como se indica 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, _mbsncmp devuelve _NLSCMPERROR, que se define en STRING.H y MBSTRING.H.

La función strncmp compara lexicográficamente, como máximo, los primeros count caracteres de string1 y string2, y devuelve un valor que indica la relación entre las subcadenas. strncmp es una versión con distinción entre mayúsculas y minúsculas de _strnicmp. wcsncmp y _mbsncmp son versiones con distinción entre mayúsculas y minúsculas de _wcsnicmp y _mbsnicmp.

wcsncmp y _mbsncmp son versiones de caracteres anchos y multibyte de strncmp. Los argumentos y el valor devuelto de wcsncmp son cadenas de caracteres anchos; los de _mbsncmp son cadenas de caracteres multibyte. _mbsncmp reconoce secuencias de caracteres multibyte según una página de códigos multibyte y devuelve _NLSCMPERROR cuando se produce un error.

Además, _mbsncmp valida 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, _mbsncmp devuelve _NLSCMPERROR y establece errno en EINVAL. strncmp y wcsncmp no validan sus parámetros. Estas tres funciones se comportan exactamente igual.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale para obtener más información. Las versiones de estas funciones sin el sufijo _l usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l son idénticas salvo que usan el parámetro locale pasado en su lugar. Para obtener más información, vea Configuración regional.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsnccmp

strncmp

_mbsncmp

wcsncmp

_tcsncmp

strncmp

_mbsnbcmp

wcsncmp

_tccmp

Se asigna a una macro o una función insertada

_mbsncmp

Se asigna a una macro o una función insertada

no disponible

no disponible

_mbsncmp_l

no disponible

Rutina

Encabezado necesario

strncmp

<string.h>

wcsncmp

<string.h> o <wchar.h>

_mbsncmp , _mbsncmp_l

<mbstring.h>

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

// crt_strncmp.c
#include <string.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      %s\n\n",
           string1, string2 );
   printf( "Function:   strncmp (first 10 characters only)\n" );
   result = strncmp( string1, string2 , 10 );
   if( result > 0 )
      strcpy_s( tmp, sizeof(tmp), "greater than" );
   else if( result < 0 )
      strcpy_s( tmp, sizeof(tmp), "less than" );
   else
      strcpy_s( tmp, sizeof(tmp), "equal to" );
   printf( "Result:      String 1 is %s string 2\n\n", tmp );
   printf( "Function:   strnicmp _strnicmp (first 10 characters only)\n" );
   result = _strnicmp( string1, string2, 10 );
   if( result > 0 )
      strcpy_s( tmp, sizeof(tmp), "greater than" );
   else if( result < 0 )
      strcpy_s( tmp, sizeof(tmp), "less than" );
   else
      strcpy_s( tmp, sizeof(tmp), "equal to" );
   printf( "Result:      String 1 is %s string 2\n", tmp );
}
Cadenas de la comparación:
      The quick brown dog jumps over the lazy fox
      The QUICK brown fox jumps over the lazy dog

Función:   strncmp (10 primeros caracteres solo)
Resultado:      La cadena 1 es mayor que la cadena 2

Función:   strnicmp _strnicmp (10 primeros caracteres solo)
Resultado:      La cadena 1 es igual a la cadena 2

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft