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。

memcmp用法实现相关推荐

  1. C++/C++11中std::string用法汇总

    C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...

  2. boost中unordered_map的用法

    学习数据结构的时候 偶然得知有个unordered_map,以前没有用过,查了查相关内容,据说效率比map高出很多,而且耗资源也少,研究一下 至于具体效率咋样我就不去验证了,网上太多了 参考:http ...

  3. COLLATE oracle,Sql 中Collate用法

    今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法. collate在sql中是用来定义排序规则的.排序规则其实就是当比较两个 ...

  4. memset()、memcpy()、memcmp()的使用方法

    1.void *memset(void *s,int ch,size_t n); 属性:函数: 用法:将s中当前位置后面n个字节用ch替换,并返回s: 头文件(C语言):#include <st ...

  5. 用c语言实现strncmp,strncat,memset, memcmp

    1.int strncmp ( char * str1, char * str2, size_t num) 用法:#include <string.h> 功能: 比较字符串str1和str ...

  6. memset 用法 linux,bzero, memset ,setmem 区别

    bzero 原型:extern void bzero(void *s, int n); 用法:#include 功能:置字节字符串s的前n个字节为零. 说明:bzero无返回值. 举例:       ...

  7. C语言 --- void的用法解析

    文章目录 一.简介 二.用法 三.总结 一.简介 ​ void 中文翻译为"无类型",有的也叫"空类型".常用在程序中对定义函数的参数类型.返回值.函数中指针类 ...

  8. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  9. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

最新文章

  1. copy, retain, assign , readonly , readwrite,strong,weak,nonatomic整理
  2. python字符串find函数-Python内置的字符串处理函数整理
  3. L1-041 寻找250
  4. LeetCode-剑指 Offer 13. 机器人的运动范围
  5. Nacos 入门教程
  6. 软件开发规范和标准_社交APP,社交直播软件开发怎样才可靠了?
  7. IT人的自我导向型学习:学习的4个层次
  8. 基于DispatchProxy打造自定义AOP组件
  9. Java LinkedList对象的clone()方法和示例
  10. hive实现根据用户分组,按用户记录求上下两条记录的时间差
  11. 计算区域中有t 个点的 区域有多少个+计算几何 + 叉乘+sort+ 二分 + map poj 2398 Toy Storage...
  12. 一文读懂公有云的现状与未来
  13. MTK平台调试加密芯片ATSHA204A
  14. Web网站模板-响应式旅游旅行团酒店预订展示网站模板(HTML+CSS+JavaScript前端大作业)
  15. 计算机技能高考带什么文具,高考必备——21条考场抓分细节
  16. c语言写我爱你中国编程,c程序设计案例汇编课件.ppt
  17. HP 8440P 4G内存蓝屏--内存颗粒容量支持问题
  18. mysql got signal 11_轻松解决MYSQL错误mysqld got signal 11 ;
  19. 流程即代码:云研发、低代码 IDE —— Uncode
  20. 产品设计必读书籍推荐

热门文章

  1. python编写电子菜单_python 写三级菜单
  2. 使用注解来开发登录检查的切面功能
  3. 深耕图形领域,华为HMS Core图形计算服务提升图形应用表现
  4. tableau高级绘图(六)--tableau绘制范围点图
  5. ARM交叉编译工具链分类说明
  6. VCP-DCV6.7学习心得
  7. 2023USNews美国加州系大学排名
  8. c++ 泛型 之 TypeTraints
  9. 1472_TC275的看门狗简介以及安全看门狗及CPU看门狗的区分
  10. 服务器的速度没有虚拟主机快,云服务器没有虚拟主机快