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>
运行结果如图所示:
|