Função da biblioteca C - memcmp ()

Descrição

A função da biblioteca C int memcmp(const void *str1, const void *str2, size_t n)) compara o primeiro n bytes de área de memória str1 e área de memória str2.

Declaração

A seguir está a declaração da função memcmp ().

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

Parâmetros

  • str1 - Este é o ponteiro para um bloco de memória.

  • str2 - Este é o ponteiro para um bloco de memória.

  • n - Este é o número de bytes a serem comparados.

Valor de retorno

  • se Return value <0 então indica str1 é menor que str2.

  • se Return value> 0 então indica str2 é menor que str1.

  • se Return value = 0 então indica str1 é igual a str2.

Exemplo

O exemplo a seguir mostra o uso da função 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);
}

Vamos compilar e executar o programa acima que produzirá o seguinte resultado -

str2 is less than str1