| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 一些字符操作函数和内存操作函数的实现(c语言) -> 正文阅读 |
|
[C++知识库]一些字符操作函数和内存操作函数的实现(c语言) |
1.模拟实现strlen 其声明:size_t strlen(const char*str) (1)字符串以'\0’作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0') (2)参数指向的字符串必须以'\0'结束 (3)函数返回值是size_t是无符号整数 实现的代码如下:
2.模拟实现strcpy 其声明char*strcpy(char*dest,const char*soure) (1)源字符串必须以'\0’结束 (2)会将源字符串中的'\0',拷贝到目标空间 (3)目标空间必须足够大,以确保能存放源字符串 (4)目标空间必须可变 实现代码如下:
3.模拟实现strcmp 其声明int strcmp(const char*str1,const char*str2) 标椎规定:(1)str1大于str2返回大于0的数 ? ? ? ? ? ? ? ? ? ?(2)str1==str2返回0 ? ? ? ? ? ? ? ? ? ?(3)str1小于str2返回小于0的数 代码如下:
4.模拟实现strcat 其声明char*strcat(char*dest,const char*soure) (1)源字符串必须以'\0'结束 (2)目标空间必须足够大,能容纳下源字符串的内容 (3)目标空间必须修改 (4)不能自己给自己追加 代码如下:
其声明char*strstr(const char*s1,const char*s2) 代码如下:
6.模拟实现memcpy 其声明void*memcpy(void*dest,const void*source,size_t num) (1)函数memcpy从source的位置开始向后复制num个字节的数到dest的内存位置 (2)这个函数在遇到'\0'的时候并不会停下来 (3)如果source和dest有任何重叠的地方,复制结果都是为定义 在一些编译器中memcpy处理不了内存重叠的情况 代码如下:
7.模拟实现memmove 其声明void*memmove(void*dest,const void*source,size_t num) 如果源空间和目标空间重叠就用memmove处理 代码如下:
作者实属初学,写博客也是作者学习的一个过程,难免文章中有内容理解不到位或者有不当之处,还请朋友们不吝指正,评论留下各自的见解,相互讨论。希望大家多多给予支持,赠人玫瑰,手有余香! |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:27:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |