合信论坛

快捷导航
查看: 598|回复: 0

用C语言中memcpy函数做阶段地址数据批量复制

[复制链接]

13

主题

13

帖子

913

积分

高级会员

Rank: 3Rank: 3

积分
913
发表于 2024-8-20 16:07:14 | 显示全部楼层 |阅读模式
[color=var(--md-box-samantha-normal-text-color) !important]一、函数原型

[color=var(--md-box-samantha-normal-text-color) !important]void *memcpy(void *dest, const void *src, size_t n);

[color=var(--md-box-samantha-normal-text-color) !important]二、参数说明

  • dest:指向目标内存区域的指针,目标内存区域将被复制到这里。
  • src:指向源内存区域的指针,从这个区域复制内容。
  • n:要复制的字节数。

[color=var(--md-box-samantha-normal-text-color) !important]三、返回值

[color=var(--md-box-samantha-normal-text-color) !important]返回指向目标内存区域的指针dest。

[color=var(--md-box-samantha-normal-text-color) !important]四、注意事项

  • memcpy函数不会检查源内存区域和目标内存区域是否重叠,如果源区域和目标区域可能重叠,应该使用memmove函数以确保正确的复制。
  • 确保目标内存区域足够大以容纳要复制的字节数,否则可能会导致缓冲区溢出错误。
  • 该函数必须属于头文件#include "string.h"下的库文件,使用前必须添加#include "string.h"头文件。


微信图片_20240820153602.png 微信图片_20240820153402.png 微信图片_20240820153412.png

五、程序源码
#include "math.h"
#include "stdio.h"
#include "string.h"
#include "plc200.h"

void CF_0( void* in, void* out, U16 geshu, BOOL *shineng)
{
BOOL shineng_tmp = *shineng;

if(shineng_tmp == 1)
{
     memcpy(out, in, geshu);
     *shineng = 0;
}
}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-10-23 18:22 , Processed in 0.085802 second(s), 25 queries .

快速回复 返回顶部 返回列表