memcmp用法&&实现

对着背影说爱祢 提交于 2019-12-08 17:21:39

memcmp用法&&实现 

目录

memcmp用法&&实现 

用法:

实现 :

strcmp &&  memcmp区别


  • 用法:

头文件:<memory.h>或 <string.h>

函数功能:比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的

函数返回值:

        当buf1<buf2时,返回值<0
        当buf1=buf2时,返回值=0
        当buf1>buf2时,返回值>0

函数原型:

int memcmp(const void *str1, const void *str2, size_t n)
  • 实现 :

int My_memcmp(const void *dest,const void *src,size_t n)
    {
        assert(dest!=NULL && src!=NULL && n>0);
        const char *pdest=(char*)dest;
        const char *psrc=(char*)src;
        while(*pdest == *psrc && --n>0)
        {
            pdest++;
            psrc++;
        }
        int a=*pdest-*pstc;
        if(a>0){return 1;}
        else if(a<0){return -1;}
        else{return 0;}
        return a;
        
    }

strcmp &&  memcmp区别 

strcmp比较的字符串,而memcmp比较的是内存块,strcmp需要时刻检查是否遇到了字符串结束的 /0 字符,而memcmp则完全不用担心这个问题,所以memcmp的效率要高于strcmp。


 


 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!