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