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;

}

wKiom1ZRbWPwPuXLAAAP5_Ntzpc826.png