Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

memcmp, wmemcmp

Compara los caracteres de dos búferes.

int memcmp(
   const void *buf1,
   const void *buf2,
   size_t count
);
int wmemcmp(
   const wchar_t * buf1,
   const wchar_t * buf2,
   size_t count
);

buf1

Primer búfer.

buf2

Segundo búfer.

count

Número de caracteres que se van a comparar. (Compara los bytes de memcmp y los caracteres anchos de wmemcmp).

El valor devuelto indica la relación entre los búferes.

Valor devuelto

Relación de los primeros caracteres count de buf1 y buf2

< 0

buf1 es menor que buf2

0

buf1 es idéntica a buf2

> 0

buf1 es mayor que buf2

Compara los primeros caracteres count de buf1 y buf2 y devuelve un valor que indica la relación entre ellos. El signo de un valor devuelto distinto de cero es el signo de la diferencia entre el primer par de valores de los búferes. Los valores se interpretan como unsigned char para memcmp y como wchar_t para wmemcmp.

Rutina

Encabezado necesario

memcmp

<memory.h> o <string.h>

wmemcmp

<wchar.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Bibliotecas

Todas las versiones de la biblioteca en tiempo de ejecución de C.

// crt_memcmp.c
/* This program uses memcmp to compare
 * the strings named first and second. If the first
 * 19 bytes of the strings are equal, the program
 * considers the strings to be equal.
 */

#include <string.h>
#include <stdio.h>

int main( void )
{
   char first[]  = "12345678901234567890";
   char second[] = "12345678901234567891";
   int int_arr1[] = {1,2,3,4};
   int int_arr2[] = {1,2,3,4};
   int result;

   printf( "Compare '%.19s' to '%.19s':\n", first, second );
   result = memcmp( first, second, 19 );
   if( result < 0 )
      printf( "First is less than second.\n" );
   else if( result == 0 )
      printf( "First is equal to second.\n" );
   else
      printf( "First is greater than second.\n" );

   printf( "Compare '%d,%d' to '%d,%d':\n", int_arr1[0], int_arr1[1], int_arr2[0], int_arr2[1]);
   result = memcmp( int_arr1, int_arr2, sizeof(int) * 2 );
   if( result < 0 )
      printf( "int_arr1 is less than int_arr2.\n" );
   else if( result == 0 )
      printf( "int_arr1 is equal to int_arr2.\n" );
   else 
      printf( "int_arr1 is greater than int_arr2.\n" );
}

Compare '1234567890123456789' to '1234567890123456789':
First is equal to second.
Compare '1,2' to '1,2':
int_arr1 is equal to int_arr2.

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft