C library function - memcmp()

Advertisements


Description

The C library function int memcmp(const void *str1, const void *str2, size_t n)) compares the first n bytes of memory area str1 and memory area str2.

Declaration

Following is the declaration for memcmp() function.

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

Parameters

  • str1 -- This is the pointer to block of memory.

  • str2 -- This is the pointer to block of memory.

  • n -- This is the number of bytes to be compared.

Return Value

  • if Return value if < 0 then it indicates str1 is less than str2

  • if Return value if > 0 then it indicates str2 is less than str1

  • if Return value if = 0 then it indicates str1 is equal to str2

Example

The following example shows the usage of memcmp() function.

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

Let us compile and run the above program, this will produce the following result:

str2 is less than str1


Advertisements
Advertisements