Partager via


_memicmp, _memicmp_l

Compare les caractères dans les deux mémoires tampon (respectant la casse).

int _memicmp(
   const void *buf1,
   const void *buf2,
   size_t count 
);
int _memicmp_l(
   const void *buf1,
   const void *buf2,
   size_t count,
   _locale_t locale
);

Paramètres

  • buf1
    première mémoire tampon.

  • buf2
    Deuxièmement mémoire tampon.

  • count
    Nombre de caractères.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

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

Valeur de retour

Relation entre les premiers octets de nombre de buf1 et de buf2

< 0

buf1 moins qu' buf2.

0

buf1 identique à buf2.

> 0

buf1 est supérieur à buf2.

_NLSCMPERROR

Une erreur s'est produite.

Notes

La fonction d' _memicmp compare les premiers caractères d' count les deux mémoires tampons buf1 et de l'octet d' buf2 par octet.La comparaison ne respecte pas la casse.

si buf1 ou buf2 est un pointeur null, cette fonction appelle un gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, la fonction retourne _NLSCMPERROR et définit errno à EINVAL.

_memicmp utilise les paramètres régionaux définis pour un comportement dépendant des paramètres régionaux ; _memicmp_l est identique mais il utilise les paramètres régionaux passés à la place.Pour plus d'informations, consultez Paramètres régionaux.

Configuration requise

routine

en-tête requis

_memicmp

<memory.h> ou <string.h>

_memicmp_l

<memory.h> ou <string.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

Exemple

// crt_memicmp.c
// This program uses _memicmp to compare
// the first 29 letters of the strings named first and
// second without regard to the case of the letters.

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

int main( void )
{
   int result;
   char first[] = "Those Who Will Not Learn from History";
   char second[] = "THOSE WHO WILL NOT LEARN FROM their mistakes";
   // Note that the 29th character is right here ^

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

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Manipulation de mémoire tampon

_memccpy

memchr, wmemchr

memcmp, wmemcmp

memcpy, wmemcpy

memset, wmemset

_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l