Condividi tramite


_memicmp, _memicmp_l

Confronta i caratteri in due buffer (senza distinzione tra maiuscole e minuscole).

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
);

Parametri

  • buf1
    Primo buffer.

  • buf2
    Secondo buffer.

  • count
    Numero di caratteri

  • locale
    Impostazioni locali da utilizzare.

Valore restituito

Il valore restituito indica la relazione tra i buffer.

Valore restituito

Relazione tra il primo conteggio byte di buf1 e buf2

< 0

buf1 minore di buf2.

0

buf1 uguale a buf2.

> 0

buf1 è maggiore di buf2.

_NLSCMPERROR

si è verificato un errore.

Note

La funzione _memicmp confronta byte a byte i primi caratteri count dei buffer buf1 e buf2. Nel confronto non viene effettuata alcuna distinzione tra maiuscole e minuscole.

Se buf1 o buf2 è un puntatore null, questa funzione richiamerà un gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce _NLSCMPERROR e imposta errno su EINVAL.

_memicmp utilizza le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; _memicmp_l è identica, ad eccezione del fatto che utilizza il parametro delle impostazioni locali che viene passato. Per ulteriori informazioni, vedere Impostazioni locali.

Requisiti

Routine

Intestazione obbligatoria

_memicmp

<memory.h> o <string.h>

_memicmp_l

<memory.h> o <string.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

// 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" );
}
  

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.

Vedere anche

Riferimenti

Modifica del buffer

_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