memcmp, wmemcmp

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Compare les caractères dans les deux mémoires tampons.

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

Paramètres

buf1
Première mémoire tampon.

buf2
Deuxième mémoire tampon.

count
Nombre de caractères à comparer. (Compare octets pour memcmp, caractères larges pour wmemcmp).

La valeur de retour indique la relation entre les mémoires tampons.

Valeur de retourRelation de la première count caractères de buf1 et buf2
< 0buf1 inférieure à buf2
0buf1 identique à buf2
> 0buf1 supérieur à buf2

Compare la première count caractères de buf1 et buf2 et retourne une valeur qui indique leur relation. Le signe d’un zéro non-valeur de retour est le signe de la différence entre la première paire différente des valeurs dans les mémoires tampons. Les valeurs sont interprétées en tant que unsigned char de memcmpet en tant que wchar_t pour wmemcmp.

RoutineEn-tête requis
memcmp<memory.h> ou <string.h>
wmemcmp<wchar.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.

Toutes les versions de la bibliothèque d’exécution 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.  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Manipulation de la mémoire tampon
_memccpy
memchr, wmemchr
memcpy wmemcpy
memset, wmemset
strcmp, wcscmp, _mbscmp
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

Afficher: