Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

memcmp, wmemcmp

Compare les caractères dans 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
);

buf1

Première mémoire tampon.

buf2

Deuxième mémoire tampon.

count

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

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

Valeur de retour

Relations des premiers caractères count de buf1 et de buf2

< 0

buf1 inférieure à buf2

0

buf1 identique à buf2

> 0

buf1 supérieur à buf2

Compare les premiers caractères de count de buf1 et de buf2 et retourne une valeur qui indique leurs relations. Le signe d'une valeur de retour non nulle est le signe de la différence entre la première paire de valeurs différentes dans les mémoires tampons. Les valeurs sont interprétées comme unsigned char pour memcmp, et comme wchar_t pour wmemcmp.

Routine

En-tête requis

memcmp

<memory.h> ou <string.h>

wmemcmp

<wchar.h>

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

Bibliothèques

Toutes les versions de bibliothèque Runtime 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 code non managé.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2015 Microsoft