memcmp函数是用于比较字符串的,比较内存前N个字节;
该函数在头文件<string.h>中,函数定义为:int memcmp (const void *s1, const void *s2, size_t n);
字符串大小的比较是以ASCII 码表上的顺序来决定,次顺序亦为字符的值。memcmp()首先将s1 第一个字符值减去s2 第一个字符的值,若差为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如,字符串"Ab"和"ba"比较则会返回字符'A'(65)和'b'(98)的差值(-33)。
返回值:两个字符串内容完全一样,返回0;若S1大于S2,则大于0,反之则小于0;
下面个是别人的范例:
#include <string.h>
main(){
char *a = "aBcDeF";
char *b = "AbCdEf";
char *c = "aacdef";
char *d = "aBcDeF";
printf("memcmp(a, b):%d\n", memcmp((void*)a, (void*)b, 6));
printf("memcmp(a, c):%d\n", memcmp((void*)a, (void*)c, 6));
printf("memcmp(a, d):%d\n", memcmp((void*)a, (void*)d, 6));
}
其执行结果为:
执行结果:
memcmp(a, b):1 //字符串a>字符串b, 返回1
memcmp(a, c):-1 // 字符串a<字符串c, 返回-1
memcmp(a, d):0 //字符串a=字符串d, 返回0
有兴趣的,可自己试试。在比较字符串的时候特别有效。