实现memcmp函数
memcmp函数:
int memcmp (const void *s1, const void *s2, size_t n);
这个函数用来比较 s1 和 s2 所指的内存区间前 n 个字符。
第一个字符串大于第二个字符串,则返回大于0的数字;
第一个字符串等于第二个字符串,则返回0;
第一个字符串小于第二个字符串,则返回小于0的数字。
代码:
#include<stdio.h>
#include<assert.h>
int my_memcmp(const void* buf1, const void* buf2, size_t count)
{assert(buf1 != NULL && buf2 != NULL);const char* pf1 = (const char*)buf1;const char* pf2 = (const char*)buf2;int res = 0;while (count-- != 0){res = *pf1 - *pf2;if (res != 0)break;pf1++;pf2++;}return res;
}
void main()
{char str1[20] = "hello";char str2[20] = "helloworld";int a = my_memcmp(str1, str2, 3);printf("%d", a);
}
实现memcmp函数相关推荐
- 使用memcmp函数判断两个函数的前n位字节数是否相等
memcmp函数的介绍 头文件:#include <string.h> 定义函数:int memcmp (const void *s1, const void *s2, size_t n) ...
- c语言memcmp和java的_C语言memcmp()函数:比较m字节长的两个字符串s1和s2
函数名:memcmp 头文件: 函数原型: void* memcmp(void *s1,void *s2,unsigned m); 功能:比较m字节长的两个字符串s1和s2 参数: s1 和 s2 为 ...
- 【C语言】memcmp函数的实现
memcmp是比较 内存 区域buf1和buf2的前count个字节.该 函数 是按 字节 比较的. 头文件 #include <string.h> int memcmp(cons ...
- strstr和memcmp函数的实现
#include <stdio.h> #include <stdlib.h> //malloc()函数 typedef unsigned int size_t;size_t m ...
- memcmp函数和memset函数的使用
int memcmp(const void* ptr1,const void* ptr2,size_t num) *比较从ptr1和ptr2指针开始的num个字节 *ptr1大于ptr2时返回1,等于 ...
- 内存函数-----Memcmp
memcpy函数 头文件:<stdio.h> 函数功能:比较分别从地址1 ptr1 和地址2 ptr2 处开始的num个字节的大小,并返回一个整型值,返回0,说明两个数据相等,返回1,说明 ...
- memcpy、memmove、memcmp、memset函数的使用说明和模拟实现
在前面的文章中,我已经对字符串函数进行了详细的介绍和模拟实现,今天,我来讲解另一类函数----------内存函数. 这里写目录标题 memcpy函数 memmove函数 memcmp函数 memse ...
- 赶紧来修炼内功发~内存函数详解大全-memcpy、memmove、memcmp
目录 1. memcpy EX: PS: 模拟实现: 2. memmove EX: 编辑 模拟实现: 3. memcmp EX: PS: 模拟实现: 4. memset EX: 模拟实现: 1. m ...
- c语言比较函数memcmp,c语言函数memcmp()如何比较内存前n个字节实例源码介绍
c语言函数memcmp()如何比较内存前n个字节实例源码介绍.引入头文件:#include 定义memcmp()函数:int memcmp (const void *s1, const void *s ...
- c/c++内存函数(memcpy,memmove,memset,memcmp)的详解和自已实现
1.mempy指的是C和C++使用的内存拷贝函数, 函数原型为void* memcpy(void* destin, void* source, unsigned n): 函数的功能是从源内存地址的起始 ...
最新文章
- 13种编程语言名称的来历
- 12 求1+2+...+n
- 统计子串出现次数 STL map
- java 更新jlabel_java – 如何动态更改JLabel
- KN-S1008S1016S1024S1024F端口状态指示
- Uncontrolled memory mapping in camera driver (CVE-2013-2595)
- 呼叫我,或异步REST
- 这是我用Microsoft Word 2010 直接发布的测试用博客
- Oracler的锁概念
- servlet html js提交表单,使用jquery.form.js实现form表单无刷新提交简单示例
- 在苹果Mac中如何不用鼠标刪除文件?
- lua与c若干问题 - 专职C++ - C++博客
- web界面配置视频 华为ac_华为无线ac配置教程
- AXI总线的一些知识
- Google Play关键词选词方法及常用选词工具
- AHU算法课-DP动态规划
- shiro的anon失效问题
- golang长连接和短连接的那些事儿
- 9月开学季CSDN高校俱乐部专家巡讲讲师招募
- 英文Ubuntu系统安装中文支持,中文…
热门文章
- ipv4和ipv6地址长度
- windows无法格式化u盘怎么办_U盘提示格式化怎么办 U盘提示格式化解决方法【详解】...
- Android中插件化实现的原理,宿主app运行插件中的类 (一)
- 2015中国国内元器件分销商10亿俱乐部20强榜单
- python全栈开发第一天(HTML认识,HTML常用标签)
- idea 找出TODO
- 论文笔记(三):DAML: Dual Attention Mutual Learning between Ratings and Reviews for Item Recommendation
- c语言手写平衡二叉树(一)
- 这个拥有中国血统的黑客,曾将美国搅得天翻地覆
- 使用fpdf2将txt文本转可编辑pdf报错解决办法