需包含头文件:C 标准库 - <string.h>

文章目录

  • 描述
  • 声明
  • 参数
  • 返回值
  • 实例1
  • 实例2
  • 实例3:覆盖原有部分数据

描述

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

声明

下面是 memcpy() 函数的声明。

void *memcpy(void *str1, const void *str2, size_t n)

参数

str1 -- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
str2 -- 指向要复制的数据源,类型强制转换为 void* 指针。
n -- 要被复制的字节数。

返回值

该函数返回一个指向目标存储区 str1 的指针。

实例1

下面的实例演示了 memcpy() 函数的用法。

// 将字符串复制到数组 dest 中
#include <stdio.h>
#include <string.h>int main ()
{const char src[50] = "http://www.runoob.com";char dest[50];memcpy(dest, src, strlen(src)+1);printf("dest = %s\n", dest);return(0);
}

运行结果:

dest = http://www.runoob.com

实例2

#include <stdio.h>
#include<string.h>int main(){const char* s = "http://www.runoob.com";char d[20];memcpy(d, s + 11, 6);// 从第 11 个字符(r)开始复制,连续复制 6 个字符(runoob)// 或者 memcpy(d, s+11*sizeof(char), 6*sizeof(char));d[6] = '\0';printf("%s", d);return 0;
}

运行结果:

runoob

实例3:覆盖原有部分数据

#include<stdio.h>
#include<string.h>int main(void)
{char src[] = "***";char dest[] = "abcdefg";printf("使用 memcpy 前: %s\n", dest);memcpy(dest, src, strlen(src));printf("使用 memcpy 后: %s\n", dest);return 0;
}

运行结果:

使用 memcpy 前: abcdefg
使用 memcpy 后: ***defg

参考文章:C 库函数 - memcpy()

c语言内存拷贝 memcpy()函数相关推荐

  1. C语言中关于memcpy函数

    关于memcpy函数 **memcpy指的是C和C++使用的内存拷贝函数,函数原型为void *memcpy(void destin, void source, unsigned n):函数的功能是从 ...

  2. C语言模拟实现memcpy函数

    void * memcpy ( void * destination, const void * source, size_t num ); 该函数是内存操作的拷贝函数,函数memcpy从source ...

  3. 用C语言模拟实现memcpy函数,memmove函数

    一. memcpy函数 void * memcpy ( void * destination, const void * source, size_t num ); 复制内存块 将num字节的值从源指 ...

  4. C语言之使用memcpy函数实现小数组数据不覆盖地复制到大数组

    我需要循环地将取到的N维字符数组依次存入大数组中. char total_str[102400] = {0}; char tmp_str[128] = {0}; memset(tmp_str,'\0' ...

  5. C语言 memcpy 函数 - C语言零基础入门教程

    目录 一.memcpy 函数简介 二.memcpy 函数实战 1.memcpy 函数简单使用 2.strcpy 函数属于字符串拷贝 3.memcpy 函数属于内存拷贝 4.memcpy 函数注意崩溃问 ...

  6. c语言memcpy函数源代码,memcpy函数-memcpy函数,C语言

    本教程分享:<memcpy函数>, memcpy是memorycopy的缩写,意为内存复制,在写C语言程序的时候,我们常常会用到它.它的函原型如下:. void * memcpy ; .如 ...

  7. c语言中存储字符用什么函数,那些C语言中你不知道的字符串函数(坑)

    1.strcpy() 在字符串拷贝函数中,它的函数编写不难,如下 char* Strcpy(char* dest, const char* src) { assert(dest != NULL &am ...

  8. 让你提前认识软件开发(8):memset()与memcpy()函数

    第1部分 重新认识C语言 memset()与memcpy()函数 软件项目中的代码,少则数千行,多则上万行,但并非无规律可循.阅读了那么多代码之后,我发现有两个函数出现的频率很高,那就是memset( ...

  9. C语言------内存管理

    系列文章目录 c语言指针 项目开发常用字符串应用模型 文章目录 作用域 局部变量 全局变量 extern全局变量声明 静态变量 静态(static)局部变量 静态(static)全局变量 未初始化 全 ...

最新文章

  1. 【Linux】Linux简单操作之文件管理
  2. Linux C SQLite3 编程
  3. Java 递归解决 quot;仅仅能两数相乘的计算器计算x^yquot; 问题
  4. AI:一个20年程序猿的学习资料大全—BAT等面试资料/NECCS大赛资料/一二级建造师/网络编程爬虫等/公务员——只有你不想要的,没有你找不到的
  5. 最新android版本奥利奥,最新Android 8.1即将来临,你想吃奥利奥了吗?
  6. There is no public key available for the following key IDs
  7. 静态Include和动态Include测试并总结
  8. 对应生成树的基本回路_7.1 图的定义与基本术语
  9. linux fstab解读
  10. mysql5.6 python_Centos-6.5 + python3 + mysql5.6 环境搭建
  11. RxHttp 一条链发送请求之注解处理器 Generated API(四)
  12. cnn加工是什么意思_天秤座R-CNN:全面平衡的目标检测器
  13. Linux 小知识翻译 - 目录 (完结)
  14. GBA编程和汉化常用软件汇总
  15. python3 词频统计计数分析+可视化词云 jieba+wordcloud 数据分析
  16. VScode远程root权限调试
  17. 二层交换机与三层交换机的区别
  18. xrandr 只有一个显示屏_特斯拉Model 3显示屏拆解分析
  19. 从Scrum之父探源敏捷方法论
  20. iOS10怎么升级?iOS10 beta1升级教程

热门文章

  1. linux地柜查找文件_linux-find【递归搜索文件名】
  2. swift瀑布流实现_CSS 实现瀑布流布局(display: flex)
  3. SAP创建生产订单时要求输入销售订单
  4. 释疑の语法LOCAL
  5. 【CIO说】转型SaaS,为什么Oracle、SAP的第一选择是人力资源软件
  6. 如何成为国内敏捷BI领跑者?这家企业的经验值得借鉴
  7. “奶茶第一股”香飘飘,“香”不起来了?
  8. 夯实“茄克”核心竞争力,高端新国货谋图百年基业
  9. 新东方财报背后:增收不增利之下,“下沉”“上线”能有坦途?
  10. 超出网络bios会话限制_什么是UEFI,它和BIOS有什么不同?