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