Funzione libreria C - memcmp ()

Descrizione

La funzione di libreria C. int memcmp(const void *str1, const void *str2, size_t n)) confronta il primo n byte di area di memoria str1 e area di memoria str2.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione memcmp ().

int memcmp(const void *str1, const void *str2, size_t n)

Parametri

  • str1 - Questo è il puntatore a un blocco di memoria.

  • str2 - Questo è il puntatore a un blocco di memoria.

  • n - Questo è il numero di byte da confrontare.

Valore di ritorno

  • se il valore di ritorno <0 allora indica che str1 è minore di str2.

  • se il valore di ritorno è> 0, indica che str2 è minore di str1.

  • se Valore di ritorno = 0 allora indica che str1 è uguale a str2.

Esempio

L'esempio seguente mostra l'utilizzo della funzione memcmp ().

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

int main () {
   char str1[15];
   char str2[15];
   int ret;

   memcpy(str1, "abcdef", 6);
   memcpy(str2, "ABCDEF", 6);

   ret = memcmp(str1, str2, 5);

   if(ret > 0) {
      printf("str2 is less than str1");
   } else if(ret < 0) {
      printf("str1 is less than str2");
   } else {
      printf("str1 is equal to str2");
   }
   
   return(0);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

str2 is less than str1