State the difference between memcmp and memicmp functions in C language


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("
1. result after comparing buffer using memcmp");    check(result);    result=memicmp(st1,st2,strlen(st2));    printf("
2. result after comparing buffer using memicmp");    check(result); } check(int x){    if(x==0)       printf(" buffer st1 and st2 hold same data
");    if(x>0)       printf("buffer st1 is bigger than buffer st2
");    if(x<0)       printf(“ buffer st1 is less than buffer st2
"); }

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

Updated on: 15-Mar-2021

244 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements