memcmp()库函数实现
今天用到了memcpy()库函数,自己实现了一个,如下:
int memcmp(const void *str1, const void *str2, size_t count) {assert((NULL != str1) && (NULL != str2));const char *pstr1 = (const char*)str1;const char *pstr2 = (const char*)str2;while (count--) {if (*pstr1 && *pstr2 && (*pstr1 == *pstr2)) {continue;} else {break;}}return (*pstr1 - *pstr2);
}
是否有更好的实现方式?请大师指点
本人是参考了strcmp()的函数实现的,strcmp()的函数实现如下:
int stcmp(const char *str1, const char *str2) {assert((nullptr != str1) && (nullptr != str2));while (*str1 && *str2 && (*str1 == *str2)) {str1++;str2++;}return (*str1 - *str2);
}
memcmp()库函数实现相关推荐
- 冰冰学习笔记:内存操作函数
在前面的章节中我们介绍了字符操作函数的用法,用以实现字符串的复制,连接,比较,查找等操作.但是C语言中并非只有字符串需要这些操作,其他类型的变量也会用到复制,比较等操作.此时,字符串操作函数将不再适用 ...
- C语言 | 进阶之路第一关
目录 前言 - 文章概述 深入剖析数据在内存中的存储 数据的类型 整型在内存中的存储 浮点型在内存中的存储 指针进阶 字符指针 指针数组 数组指针 数组传参和指针传参 函数指针 函数指针数组 指向函数 ...
- C语言字符串处理的库函数
使用C语言字符串处理的库函数,务必包含头文件string.h,即#include <string.h> 1. 比较字符串大小函数 1) 忽略大小写---strca ...
- linux下的c库函数大全
linux下的c库函数大全,虽然没有函数描述,但是最起码可以知道分类,就可以去 man 了 Linux C函数库参考手册 第1章字符测试函数 isalnum(测试字符是否为英文字母或数字) isalp ...
- Keil C51的库函数
转自:http://www.dwenzhao.cn/profession/mcu/mcu51clib.html Keil C51有丰富的可直接调用的库函数,灵活使用库函数可使程序代码简单.结构清晰,并 ...
- memcpy、memmove、memset、memchr、memcmp、strstr详解
第一部分 综述 memcpy.memmove.memset.memchr.memcmp都是C语言中的库函数,在头文件string.h中.memcpy和memmove的作用是拷贝一定长度的内存的内容,m ...
- java memcmp_C 库函数
C 库函数 - memcmp() 描述 C 库函数 int memcmp(const void *str1, const void *str2, size_t n)) 把存储区 str1 和存储区 s ...
- c语言设置输出字符大小_C语言中常用的几个头文件及库函数
点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来源:https://www.jb51.net/article/124594.htm 这 ...
- c++fabs函数_C语言中常用的标准库函数有哪些?
点击上方蓝色字关注我们! 本文转自网络,版权归原作者所有. 标准头文件包括: 一.标准定义() 文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来. 这个文件里定义: 类 ...
最新文章
- plotly可视化绘制多子图(subplots)并自定义坐标轴
- 【ZJOI 2008】树的统计 Count
- 安装xml2js出现npm ERR! code E404 npm ERR! 404 Not Found: event-stream@3.3.6
- WCF基础 (续 暴露元数据交换节点)
- php 输出 cvs,php将数组转换成cvs格式并输出的简单示例
- ECharts 之 环形图
- android最全面试题71道题 详解
- xenserver 脚本学习之/opt/xensource/bin/xapi-wait-init-complete
- 关于pipelineDB调用GetLocalStreamReaders的BUG
- 2016年成熟亚太地区公共云服务市场规模将达到81亿美元
- freemarker 异常处理
- [html] 怎样在<pre>标签内不转义<和>符号(原样输出html标签)?
- go TypeError: Failed to execute ‘fetch‘ on ‘Window‘: Request with GET/HEAD method cannot have body.
- 小学奥数 7648 蓄水池水管问题 python
- C#中释放数据库连接资源
- 2016年2月23日----Javascript全局变量和局部变量
- C/C++代码虚拟化保护 在移动端的应用
- pb9 调用系统语音_语音通知解决方案,VIKI语音通知软件介绍
- iphone pop服务器没有响应,iPhone 6 Plus跳屏或者触摸失灵的解决办法
- 使用STM32CubeMX和SW4STM32在Nucleo-F401RE开发板轻松实现Blinky闪烁 [