memcmp源码实现

Posted 菜鸟升级

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了 memcmp源码实现相关的知识,希望对你有一定的参考价值。

原型: int memcmp(void *buf1, void *buf2, unsigned int count);

用法:#include <string.h>

功能:比较内存区域buf1和buf2的前count个字节。

说明:

        当buf1<buf2时,返回值<0

        当buf1=buf2时,返回值=0

        当buf1>buf2时,返回值>0

源码实现:

int memcmp(const void *buffer1,const void *buffer2,int count)

{

   if (!count)

      return(0);

   while ( --count && *(char *)buffer1 == *(char *)buffer2)

   {

      buffer1 = (char *)buffer1 + 1;

        buffer2 = (char *)buffer2 + 1;

   }

   return( *((unsigned char *)buffer1) - *((unsigned char *)buffer2) );

}

 

转:http://blog.sina.com.cn/s/blog_4af62c070100ppi1.html

以上是关于 memcmp源码实现的主要内容,如果未能解决你的问题,请参考以下文章

使用CAPL 内置函数 memcpy 和memcmp 处理数组的若干问题

使用CAPL 内置函数 memcpy 和memcmp 处理数组的若干问题

LinkedHashMap实现LRU - 附重点源码解析

SpringCloud--Ribbon--源码解析--Ribbon入口实现

如何在android源码中找到PackageManager类的具体实现

flask源码剖析之LocalStack和Local对象实现栈的管理