memcmp
memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按比较的。
函数原型
int memcmp(const void *buf1, const void *buf2, size_t count);
头文件
#include <string.h>或#include<memory.h>
程序代码:
#include<stdio.h>
#include<assert.h>
int my_memcmp(const void * str1, const void * str2, size_t count )
{
assert(str1 );
assert(str2 );
if (!count )
{
return 0;
}
while (--count &&*(char*) str1 == *(char *)str2)
{
str1 = (char *)str1 + 1;
str2 = (char *)str2 + 1;
}
return ((unsigned char*) str1 - (unsigned char*)str2 );
}
int main()
{
char arr1[] = "abcfgh" ;
char arr2[] = "fgrvbfg" ;
int ret = my_memcmp(arr1, arr2, 3);
printf( "%d\n", ret);
system( "pause");
return 0;
}