说明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("
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
"); }

输出

您将看到以下输出 -

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

更新于:15-3-2021

309 个浏览量

开启你的 职业

通过完成课程获得认证

开始学习
广告