server-api-bcmp

原型

The bcmp() function compares the two byte sequences s1 and s2 of length n each. If they are equal, and in particular if n is zero, bcmp() returns 0. Otherwise it returns a nonzero result.

用来比较s1和s2所指的内存区间前n个字节

函数原型
1
2
3
4
5
6
7
8
9
10
11
12
13
// s1
// 要比较内存区域1
// s2
// 要比较内存区域2
// n
// 要比较的字节数
//
// return:
// The bcmp() function returns 0 if the byte sequences are equal, otherwise a nonzero result is returned.
// 若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。
//
//
int bcmp(const void *s1, const void *s2, size_t n);

使用参考

简单的比较操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string.h>
#include <strings.h>
#include <stdio.h>

int 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));

printf("bcmp(a,b):%d\n",bcmp((void*)a, (void*) b, 6));
printf("bcmp(a,c):%d\n",bcmp((void*)a, (void*) c, 6));
printf("bcmp(a,d):%d\n",bcmp((void*)a, (void*) d, 6));

return 0;
}