IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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++知识库]字符函数和字符串函数和内存操作函数

字符函数和字符串函数和内存操作函数

字符串函数
(1) strlen —— 求字符串长度的库函数(重点理解)

字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包
含 ‘\0’ )。
参数指向的字符串必须要以 ‘\0’ 结束。
注意函数的返回值为size_t,是无符号的( 易错 )

strlen 函数的实现:
在这里插入图片描述
2)strcpy—字符串拷贝函数(重点理解)
在这里插入图片描述
源字符串必须以 ‘\0’ 结束。
会将源字符串中的 ‘\0’ 拷贝到目标空间
目标空间必须足够大,以确保能存放源字符串
目标空间必须可变

strcpy函数的模拟实现
在这里插入图片描述
(3)strcat----字符串连接函数(重点理解)
在这里插入图片描述
源字符串必须以 ‘\0’ 结束。
目标空间必须有足够的大,能容纳下源字符串的内容。
目标空间必须可修改。

strcat函数模拟实现
在这里插入图片描述
(4)strcmp—字符串比较函数(重点理解)
在这里插入图片描述
标准规定:
第一个字符串大于第二个字符串,则返回大于0的数字
第一个字符串等于第二个字符串,则返回0
第一个字符串小于第二个字符串,则返回小于0的数字

strcmp函数的模拟实现
在这里插入图片描述
总结: strcpy strcat strcmp是 长度不受限制的字符串函数

长度受限制的字符串函数
(1) strncpy–字符串拷贝函数(精确到拷贝到第几个)(重点理解)在这里插入图片描述
功能特点:
(1)count<=strlen(strSource),即要拷贝的字符个数小于等于strSource字符串的长度时,只将字符拷贝过去,不拷贝’\0’

在这里插入图片描述
(2)count>strlen(strSource),即要拷贝的字符个数大于strSource字符串的长度时,会将strSource字符串整个拷贝,不管count是多少,只要
count>strlen(strSource)就行
在这里插入图片描述
strncpy函数的模拟实现
在这里插入图片描述
(2) strncat----字符串连接函数(精确到第几个)(重点理解)
在这里插入图片描述
功能特点:
无论,count为多少,在最后都会加上’\0’

strncat函数的模拟实现
在这里插入图片描述
(3)strncmp—字符串比较函数(精确的第几个比较)(重点理解)

在这里插入图片描述
功能特点:
比较字符串string1和字符串string2前count个元素的大小

strncmp函数的实现
在这里插入图片描述
字符串查找函数
(1) strstr—寻找 字串的函数(重点理解)

strstr函数是作用于字符串的
在这里插入图片描述

strstr函数的返回值 :
1.如果在被查找的字符串中,有相应的子字符串,则返回第一个子字符串首元素的地址, 如果没有相应的子字符串,则返回NULL,
2.如果子字符串的长度为0,即只要一个元素‘\0’,则返回被查找的字符串

strstr函数模拟实现
在这里插入图片描述
(2) strtok(重点理解)
在这里插入图片描述
1.sep参数是个字符串,定义了用作分隔符的字符集合
2.第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。
3. strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注:
strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容
并且可修改。)
strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串
中的位置。
strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标
记。
如果字符串中不存在更多的标记,则返回 NULL 指针
在这里插入图片描述
错误信息报告函数

strerror函数(重点理解)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字符分类函数

在这里插入图片描述
字符转换
在这里插入图片描述
内存操作函数(重点理解)

(1) memcpy–内容拷贝函数
memcpy与strcpy的区别:
strcpy只能用于字符串拷贝,而memcpy可以用于任何情况
在这里插入图片描述
函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。
这个函数在遇到 ‘\0’ 的时候并不会停下来。
如果source和destination有任何的重叠,复制的结果都是未定义的(memcpy不能支持重叠的情况)

在这里插入图片描述
memcpy函数的模拟实现
在这里插入图片描述
(2)memmove----内容拷贝函数
适用于任何情况

在这里插入图片描述

可以理解为memmove的功能比memcpy的功能更加全面

memmove函数的模拟实现
在这里插入图片描述
3)memcmp----比较大小的函数
适用于任何情况,而strcmp只适用于字符串

在这里插入图片描述
在这里插入图片描述
(4)memset
在这里插入图片描述
设置count个字节的数值为c;
dest表示你要设置的空间的地址

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 10:38:58  更:2022-01-24 10:40:00 
 
开发: 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 10:23:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码