字符串,字符串函数 strlen和sizeof和string库包含的函数等(3)

1.memcpy负责拷贝两块独立空间的数据,

void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1

看下面一段代码 

 这是一个int型的数字,一个元素占用4个字节,我们把arr1的内容拷贝到arr数组中,拷贝的字节数为3*4也就是12个字节,此外我们不但可以进行从头开始的拷贝,也可以选择内容的进行拷贝,看下面一段代码

 我们有选择的拷贝数据时,只需要在修改该函数的地址就行了。

拷贝时候因为是void型,所以理论上哪种种数据类型都可以拷贝,但是拷贝时候的两种类型必须相同,否则会发生字节处的错误 

 这种类型虽然可以拷贝,但是实际上时不对的,因为int型占用4个字节,而char占用一个字节。

2.memmove 可以拷贝一个独立空间中内存的数据,也就是自己拷贝自己

 void *memmove(void *str1, const void *str2, size_t n) 从 str2 复制 n 个字符到 str1,但是在重叠内存块这方面,memmove() 是比 memcpy() 更安全的方法。如果目标区域和源区域有重叠的话,memmove() 能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,复制后源区域的内容会被更改。如果目标区域与源区域没有重叠,则和 memcpy() 函数功能相同。,具体也就是说memmove包含了memcpy的功能但是可以拷贝自己的内存空间

 

 

#include<stdio.h>
#include<string.h>
#include<assert.h>
void* my_memmove(void* dest, const void* src, size_t num)
{
	assert(dest && src);
	void* ret = dest;
	if (dest > src)
	{
		while (num--)
		{
			*(char*)dest = *(char*)src;
			dest = (char*)+1;
			src = (char*)+1;
		}
	}
	else
	{
		while (num--)
		{
			*((char*)dest + num) = *((char*)src + num);
		}
	}
	return ret;
}
int main()
{
	int arr[20] = { 1,2,3,4,5 };
	my_memmove(arr + 3, arr + 2, 8);
	int k = 0;
	for ( k = 0; k < 5; k++)
	{
		printf("%d", arr[k]);
	}

	return 0;
}

这是memmove的代码实现

3. 

 比较的是字节,返回的是int型的数字,大于0则是str1大小于0则是str2大

 

三氧化真
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C++学习之字符串长度(sizeof()和strlen())
qq_43213240的博客
03-25 400
C++字符串的长度计算
C语言中常用的字符串函数strlensizeof、sscanf、sprintf、strcpy)
weixin_47268803的博客
01-08 1845
sizeof是计算变量在内存的占空间的大小,单位是字节。在这里插入代码片sscanf函数是C语言中的一个标准函数,用于从格式化的字符串中读取输入。其中,str表示要读取的字符串,format表示格式控制字符串,…表示可变参数列表。strcpy函数是将一个字符串复制到另一块空间地址中的函数,‘\0’是停止拷贝的终止条件,同时也会将 ‘\0’ 也复制到目标空间。char *dest------------目标字符串的首地址。
C语言中strlen()和sizeof()求数组和字符串的长度
QJing_shijia的博客
04-26 1960
strlen ()是一个函数,用来求字符串的长度,其值在运行时才能确定 strlen() 函数字符串的开头位置依次向后计数,直到遇见\0,然后返回计时器的值。最终统计的字符串长度不包括\0 sizeof()是一个运算符,其值在编译的时候就已经确定了,可以获得数据类型或变量在内存中所占的字节数 举几个例子说明下: #include <stdio.h> #include <string.h> int main() { char str[20] = "string"; p
如何求C语言字符串长度(strlen函数sizeof关键字)
weixin_47119687的博客
10-28 3276
如何求C语言字符串长度(strlen函数sizeof关键字) 在程序里,一般会用***strlen()***函数或***sizeof()***来获取一个字符串的长度,但这2种方法获取的字符串的长度其实是不一样,我们用如下函数进行测试: void test6() { char s1[20] = "hello world"; char s2[20] = {'h','e','l','l','0',' ','w','o','r','l','d','\0'}; char s3[] =
【C语言】字符串函数「超详细」
"謓泽"正在路上朝着"攻城狮"方向"前进四"!
06-08 8744
字符串函数的使用是我们必须要掌握的知识点很多面试知识点包括对于程序当中运用到字符串函数的形式还是比较多的,所以我们是必须要了解掌握这个知识点的。尽管知识点比较多,但是我们还是要好好吸收消化这个知识点的。听说长按收藏按钮会有惊喜╰(*°▽°*)╯........................
sizeof运算符与求字符串长度函数strlen的区别
Travelerwz的博客
10-16 1886
sizeof运算符与求字符串长度函数strlen的区别:  sizeof可以用于数据类型,也可以用于任意类型的变量;  strlen只能用于字符串变量的长度,  用sizeod求字符串长度时,是指整个字符串数组的尺寸;而strlen求得的字符串的字符长度不包括最后的字符串结束符。 接下来用代码演示:  1 #include   2 #include   3   4 int mai
c语言字符串strlen,C语言的字符串处理函数strlen()
weixin_34538771的博客
05-21 991
c语言的字符串处理函数strlen">c语言的字符串处理函数strlen()引言c提供了多个字符串处理函数,ansi c把这些函数的原型放在string.h头文件中。其中最常用的有strlen()、strcat()、strcmp()、strncmp()、strcpy()和strncpy()。另外还有sprintf(),其原型在stdio.h头文件中。这些函数都在后面的博客进行详细分析。st...
C字符串操作函数sizeof strlen区别
Caso_卡索的博客
04-10 577
本文总结记录基础数据结构字符串相关的知识点及用法,解释sizeof关键字和strlen函数的区别
(C语言)计算字符串长度,使用 sizeofstrlen中的坑
li951527983的博客
04-02 3847
最近刷leetcode,遇到很多字符串处理的问题,经常需要用到统计一下字符串长度,踩了很多坑,分享一下。 一、使用strlen计算 1.引用<string.h> 2.声明字符串时,如果同时初始化,需要有充足的空间,留有存储‘\0’的空间。 解释一下就是, 例如char str[]="12345";//声明,同时初始化 此时字符串中实际存储为“12345\0”,此时strle...
C++ 学习】字符串处理函数strlen等)
可爱满分的博客
10-18 1571
C++ 字符串处理函数
数据结构-c语言-带main函数-串1-串的长度-标准函数strlen()和sizeof()的两种方法。
06-24
这个函数是C标准`<string.h>`的一部分,用于计算字符串的长度,即直到字符串结束符'\0'前的所有字符数。下面是一个示例代码: ```c #include #include<string.h> int main(){ char s1[20]="dirtreeformat"; ...
字符数组和字符串sizeof( )和strlen().docx
09-14
C++编程语言中,了解如何获取数组或字符串的长度是非常关键的,这涉及到`sizeof()`和`strlen()`两个函数的使用。`sizeof()`运算符返回一个类型或变量所占用的字节数,而`strlen()`函数则计算一个以空字符'\0'结尾...
the-string-reverse-by-C-Language.rar_反转字符串_指针和字符串
09-21
反转字符串是一种常见的编程任务,可以通过多种方法实现,其中包括使用指针。在这个项目中,我们将探讨如何通过C语言来反转字符串,重点是理解指针在过程中的作用。 首先,我们要明白指针在C语言中的概念。指针是一...
C语言中计算字符串长度与分割字符串的方法
01-01
C语言strlen()函数:返回字符串的长度 头文件: #include <string> strlen()函数用来计算字符串的长度,其原型为: unsigned int strlen (char *s); 【参数说明】s为指定的字符串strlen()用来计算指定的...
数学建模常用模型全面总结(含适用条件、优点、局限性和应用场景)
qq_63913621的博客
09-14 1499
数学建模常用模型全面总结(含适用条件、优点、局限性和应用场景)
2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析
最新发布
2401_82549447的博客
09-21 2737
目标是优化风力涡轮机的功率调度,使其在给定的实时风速数据下,最小化涡轮机关键组件(如塔架和主轴)的疲劳损伤。问题的挑战在于,考虑通信延迟和测量噪声的同时,要确保功率输出与风速变化的响应快速且准确。
如何写数学建模竞赛论文
weixin_43608857的博客
09-13 1141
摘要应包括以下内容:数学模型的类型(归类为何种数学模型);建模思路;算法思路(求解思路);模型特点(如优点、算法特点、结果验证、灵敏度分析等);主要结果(数值结果和结论);列出关键字(反映论文涉及的问题特点)。摘要要求简明、准确,字数应控制在300到1000字之间,排版格式与论文要求一致。摘要应具备条理清晰、合乎语法的特性,且必须包含3到5个关键字。
2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序
weixin_43292788的博客
09-19 1075
2017年国赛高教杯数学建模C题颜色与物质浓度辨识解题全过程文档及程序
2024年数学建模比赛题目及解题代码
yz_518的博客
09-12 2510
1.1.1数学建模竞赛概述数学建模竞赛,作为一项集知识性、创新性与实践性于一体的国际性赛事,旨在培养学生运用数学理论与方法解决实际问题的能力。它要求参赛者针对现实生活中的复杂问题,通过深入的分析、抽象与建模,最终提出科学合理的解决方案。数学建模竞赛不仅考验了学生的数学基础,更重要的是锻炼了他们的逻辑思维能力、团队合作精神以及创新能力。在这个过程中,学生需要将抽象的数学理论与具体的应用场景相结合,创造出既有理论深度又具实用价值的模型。
C语言字符串函数解析与示例
"这篇文档是关于C语言字符串处理函数的全面总结,涵盖了各种常用的字符串操作,包括内存填充、内存移动、内存复制、字符查找、字符串比较等。它为学习者和开发者提供了详尽的实例分析和解释,是理解和应用C语言字符...
写文章

热门文章

  • 自定义拦截器jwt登录校验接口模拟账号登录 1363
  • maven依赖+http请求响应+统一请求响应结果+分层解耦+ioc&di+mybatis 数据库连接池 1133
  • mysql窗口函数排名查询 与 连续出现的数字查询 1126
  • mybatis-plus 优雅的写service接口中方法(3) 1101
  • redis缓存token设置jwt令牌过期时间 1074

分类专栏

  • 设计模式 1篇
  • 数据结构与算法 7篇
  • 登录demo 4篇
  • 消息队列 2篇
  • 微服务 3篇
  • mysql 4篇
  • git 2篇
  • Effective java
  • html和css学习笔记 5篇
  • mybatisplus 4篇
  • docker 2篇

最新评论

  • 堆排序-优先级队列

    CSDN-Ada助手: 推荐 算法 技能树:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm

  • mybatis增删查改基础操作+mybatis日志输入+sql注入+xml配置与动态sql

    2401_83107533: 大佬,可以教一下C语言吗?想学嵌入式开发

  • mybatis增删查改基础操作+mybatis日志输入+sql注入+xml配置与动态sql

    CSDN-Ada助手: 恭喜!看到你写的第20篇博客,真的是非常值得称赞的成就。你对mybatis增删查改基础操作、mybatis日志输入以及sql注入+xml配置与动态sql的探索和总结,让我受益良多。希望你能继续保持创作的热情,不断分享更多关于mybatis的知识和经验。或许下一步可以考虑写一些实战经验,或者分享一些高级用法和技巧,让读者们更全面地了解mybatis的强大之处。期待你更多的精彩文章!

  • maven依赖+http请求响应+统一请求响应结果+分层解耦+ioc&di+mybatis 数据库连接池

    CSDN-Ada助手: 恭喜作者在第18篇博客中分享了关于maven依赖、http请求响应、统一请求响应结果、分层解耦、ioc&di以及mybatis数据库连接池的知识,内容十分丰富。希望作者在接下来的创作中,可以结合实际案例,深入探讨这些技术在项目中的应用,让读者更加深入地理解和运用这些知识。期待作者的下一篇作品!

  • 零碎的知识点c语言

    CSDN-Ada助手: 推荐 C 技能树:https://edu.csdn.net/skill/c?utm_source=AI_act_c

大家在看

  • 教师管理系统小程序+ssm论文源码调试讲解
  • C语言的文件函数 830
  • Python知识点:如何使用Python进行物联网数据处理
  • 实习记录小程序+ssm论文源码调试讲解
  • 【30天玩转python】高级面向对象编程

最新文章

  • 设计模式-装饰者模式
  • 二叉树的层序遍历-广度优先遍历
  • 堆排序-建堆,增删替换
2024
09月 6篇
08月 2篇
07月 6篇
06月 9篇
05月 7篇
04月 5篇
03月 5篇
2023年17篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三氧化真

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王赤壁网站搜索引擎优化荔湾网站推广优化教程关于网站优化网站建设优化方案宁夏网站优化哪家正规网站优化排名规定新邵县网站seo优化排名靠谱百度网站优化首选揭阳网站优化方式中山电器网站seo优化兴化网站搜索优化工作室响水网站优化推广企业龙岗网站关键词优化哪家强荥阳网站优化哪一种在网站优化方面最有用苏州seo网站优化台湾网站优化外包江门网站优化多少钱放心的服装行业网站优化专业公司随州市网站关键词优化公司常州网站优化推广企业seo推广网站优化上排名教程里水网站优化哪家专业南水网站优化盘锦网站优化seo网站内部优化详细步骤怀宁网站优化设计方案优化网站软件隽拔云速捷首选关于大型网站优化方案河南网站优化推广香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化