C语⾔memcmp()函数:⽐较内存前n个字节
头⽂件:#include <string.h>
定义函数:int memcmp (const void *s1, const void *s2, size_t n);
函数说明:memcmp()⽤来⽐较s1 和s2 所指的内存区间前n 个字符。
字符串⼤⼩的⽐较是以ASCII 码表上的顺序来决定,次顺序亦为字符的值。memcmp()⾸先将s1 第⼀个字符值减去s2 第⼀个字符的值,若差为0 则再继续⽐较下个字符,若差值不为0 则将差值返回。例如,字符串"Ac"和"ba"⽐较则会返回字符'A'(65)和'b'(98)的差值(-33)。
返回值:若参数s1 和s2 所指的内存内容都完全相同则返回0 值。s1 若⼤于s2 则返回⼤于0 的值。s1 若⼩于s2 则返回⼩于0 的值。
范例
1. #include <string.h>
2. main(){
3. char *a = "aBcDeF";
4. char *b = "AbCdEf";
5. char *c = "aacdef";
字符串比较函数实现6. char *d = "aBcDeF";
7. printf("memcmp(a, b):%d\n", memcmp((void*)a, (void*)b, 6));
8. printf("memcmp(a, c):%d\n", memcmp((void*)a, (void*)c, 6));
9. printf("memcmp(a, d):%d\n", memcmp((void*)a, (void*)d, 6));
10. }
执⾏结果:
memcmp(a, b):1 //字符串a>字符串b, 返回1
memcmp(a, c):-1 // 字符串a<;字符串c, 返回-1
memcmp(a, d):0 //字符串a=字符串d, 返回0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论