State the difference between memcmp and memicmp functions in C language

CServer Side ProgrammingProgramming

Memcmp() and memicmp() compares first n bytes of two blocks of memory.

  • memcmp() performs comparison as unsigned characters.

  • memicmp() performs comparison as characters but, ignore upper case or lower case letters.

  • Both functions return an integer value.

  • Two memory buffers are equal (returns 0).

  • First buffer is greater than second (returns >0).

  • First buffer is less than second(returns<0).

Program

The following program shows the usage of memcmp() and memicmp() functions.

#include<conio.h>
#include<mem.h>
main(){
   char st1[]="This is C Programming language";
   char st2[]="this is c programming";
   int result;
   result=memcmp(st1,st2,strlen(st2));
   printf("\n1. result after comparing buffer using memcmp");
   check(result);
   result=memicmp(st1,st2,strlen(st2));
   printf("\n2. result after comparing buffer using memicmp");
   check(result);
}
check(int x){
   if(x==0)
      printf(" buffer st1 and st2 hold same data\n");
   if(x>0)
      printf("buffer st1 is bigger than buffer st2\n");
   if(x<0)
      printf(“ buffer st1 is less than buffer st2\n");
}

Output

You will see the following output −

1. result after comparing buffer using memcmp buffer st1 is less than buffer st2
2. result after comparing buffer using memicmp buffer st1 and st2 hold same data
raja
Published on 10-Mar-2021 14:42:03
Advertisements