【C语言】memcmp函数的实现

来源:互联网 发布:linux防御cc攻击 编辑:程序博客网 时间:2024/06/10 03:00
memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的。
 
头文件
#include <string.h>
 
int memcmp(const void *buf1, const void *buf2, unsigned int count);
比较内存区域buf1和buf2的前count个字节。
 
头文件
#include <string.h>或#include<memory.h>
 
返回值
当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0
当buf1>buf2时,返回值>0
 
所以该函数的功能实现为:
<span style="font-size:18px;">#include<stdio.h>#include<assert.h>int my_memcmp(char *str1,char *str2,int len){assert(str1);assert(str2);while(len--){while(*str1==*str2){if(*str1=='\0')return 0;str1++;str2++;}}if(*str1>*str2)return 1;if(*str1<*str2)return -1;}int main(){char *p="adcc";char *q="bac";printf("%d\n",my_memcmp(p,q,1));return 0;}</span>

运行结果如图所示:
0 0