用C语言陈述memcmp和memicmp函数之间的区别

Memcmp()并memicmp()比较两个内存块的前n个字节。

  • memcmp() 以无符号字符进行比较。

  • memicmp() 以字符形式进行比较,但是忽略大写或小写字母。

  • 这两个函数都返回一个整数值。

  • 两个内存缓冲区相等(返回0)。

  • 第一个缓冲区大于第二个缓冲区(返回> 0)。

  • 第一个缓冲区小于第二个缓冲区(返回值<0)。

示例

以下程序显示memcmp()和memicmp()功能的用法。

#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");
}
输出结果

您将看到以下输出-

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