问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助!C语言里面的memcpy函数的用法

发布网友 发布时间:2022-04-21 12:09

我来回答

1个回答

热心网友 时间:2023-09-23 23:57

memcpy函数用法

memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。

函数原型

void *memcpy(void *dest, const void *src, size_t n);

折叠编辑本段功能

从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

折叠编辑本段所需头文件

C语言:#include<string.h>

C++:#include<cstring>

折叠编辑本段返回值

函数返回指向dest的指针。

折叠编辑本段说明

1.source和destin所指的内存区域可能重叠,但是如果source和destin所指的内存区域重叠,那么这个函数并不能够确保source所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。函数返回指向destin的指针.

2.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

注意:source和destin都不一定是数组,任意的可读写的空间均可。

折叠编辑本段函数实现

Windows中

coreutils中

Linux中:

折叠编辑本段程序实例

程序例example1

作用:将s中的字符串复制到字符数组d中。

输出结果:Golden Global View

example2

作用:将s中第13个字符开始的4个连续字符复制到d中。(从0开始)

输出结果: View

example3

作用:复制后覆盖原有部分数据

输出结果:

destination before memcpy:abcdefghijlkmnopqrstuvwxyz0123as6

destination after memcpy: ******************************as6

strcpy和memcpy主要有以下3方面的区别。

1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。

3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁能给个单机版的风云之雄霸天下啊?? 求风云雄霸天下PC单机游戏WIN7版 雄霸天下任务指南 开心网001老房子卖了以后家具还有吗? 为什么001开心网买房子组件删除仓库里的东西都没了 请教一下,开心001的开心庄园里面的建材有好多富余的的 除了5元一个卖... 开心网001小号怎么给大号送房子? 开心网001多少级能送别人房子?多少级能接受别人给的房子? 开心网001果实或家具能送人吗 开心网(kaixin001)怎么买外地房子? 关于memcpy函数使用的问题 memcpy是什么意思 memcpy函数怎么用 C语言中memcpy函数用法 memcpy 如何定义使用? memcpy函数定义 有谁能把memcpy函数详细的讲解一下 C++ memcpy函数 memcpy和memmove的区别 关于memcpy()函数 c++的metset,memcpy函数要包含什么头文件吗 宽带怎么安装两台电视机 使用memcpy()一定要头文件#include &lt;string.h&gt;吗 哪个库文件中包含函数memcpy() 求分享《牧羊少年奇幻之旅》电子书百度网盘资源下载 求分享《异恋》电子书百度网盘资源 《余华长篇小说》pdf下载在线阅读,求百度网盘云资源 求好心人分享下《沉浮》电子书epbu百度网盘资源 求分享《马伯庸完结作品集》全集电子版免费百度云资源 人鱼txt全集下载 memcpy函数问题 请问这个程序里memcpy的第一个参数为什么报错 404 Not Found springboot启动的一个错误,请问该怎么解决! 搭建Springboot,引入接口CrudRepository后启动报错,找不出原因,不引就没问题。 springboot 启动初始化 spring boot怎么启动 启动spring boot报错,怎么解决 如何启动spring boot spring boot在eclipse中怎么用 如何运行Spring Boot应用 spring boot和spring的区别 spring boot在eclipse中怎么用? 求助,spring-boot升级带来的异常 spring boot启动不扫描创建bean怎么回事? 如何排除 Spring Boot 默认对 webjars 的依赖 一个APP维护费多少钱 创建与建立的意思 网站维护费用,一年要多少钱? 做网站维护费用一年要多少钱?