Partager via


_memicmp, _memicmp_l

Compare les caractères dans les deux mémoires tampons (respectent pas 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ème 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 des premiers octets de nombre de buf1 et de buf2

< 0

buf1 inférieure à buf2

0

buf1 identique à buf2

> 0

buf1 est supérieur à buf2.

_NLSCMPERROR

Une erreur s'est produite.

Notes

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

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

_memicmp utilise les paramètres régionaux actuels pour tout comportement dépend des paramètres régionaux ; _memicmp_l est identique à la différence qu'il utilise les paramètres régionaux transmis à 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 sur la 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 Exemples d'appel de plateforme.

Voir aussi

Référence

Manipulation de la 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