C中memcpy函数用法
1、函数原型
void *memcpy(void *destin,void *source,unsigned n);
其中,
- destin代表用于存储复制内容的目标数组,类型强制转换为void*指针。
- source表示指向要复制的数据源,类型`强制转换为void*指针。
- n表示要被复制的字节数
该函数返回一个指向目标存储区destin的指针。如果destin存在数据,将会被覆盖。该函数存在与头文件string.h中。
2、实现的功能
从source所指的内存地址的起始位置开始拷贝n个字节到目标destin所指的内存地址的起始位置中。
3、memcpy与strcpy区别:
- strcpy只能复制字符串,而memcpy可以复制任意内容,如:字符数组、整形、结构体、类等
- strcpy不需要指定长度,它遇到被复制字符的串结束符“\0”才结束,所以容易溢出。memcpy则根据第三个参数决定复制的长度。
- 通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。
4、程序案例:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 9
int main()
{ char* a=(char*)malloc(sizeof(char)*N);
char* b="Who are you?";
memcpy(a,b,N);
printf("%s\n",a); return 0;
}
运行结果:
Who are y
C中memcpy函数用法的更多相关文章
- memcpy函数用法
memcpy函数用法 .分类: VC++ VC++ mfc matlab 2011-12-01 19:17 14538人阅读 评论(0) 收藏 举报 null 原型:extern void *memc ...
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- php中opendir函数用法实例
这篇文章主要介绍了php中opendir函数用法,以实例形式详细讲述了opendir函数打开目录的用法及相关的注意事项,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例分析了php中opendi ...
- php中setcookie函数用法详解(转)
php中setcookie函数用法详解: php手册中对setcookie函数讲解的不是很清楚,下面是我做的一些整理,欢迎提出意见. 语法: bool set ...
- 0.11内核rd_load@ramdisk.c中memcpy函数好像有bug
0.11内核rd_load@ramdisk.c中memcpy函数好像有bug,如:#define memcpy(dst,src,n) \ __asm__("cld;rep;movsl& ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- PHP中is_*() 函数用法
PHP中is_*() 函数用法 is_a - 如果对象属于该类或该类是此对象的父类则返回 TRUE is_array - 检测变量是否是数组 is_bool - 检测变量是否是布尔型 is_calla ...
- PHP中 spl_autoload_register() 函数用法
这篇文章主要介绍了PHP中spl_autoload_register()函数用法,结合实例形式分析了__autoload函数及spl_autoload_register函数的相关使用技巧,需要的朋友可 ...
- PHP中spl_autoload_register()函数用法实例详解
本文实例分析了PHP中spl_autoload_register()函数用法.分享给大家供大家参考,具体如下: 在了解这个函数之前先来看另一个函数:__autoload. 一.__autoload 这 ...
随机推荐
- AdaBoost算法详解与python实现
1. 概述 1.1 集成学习 目前存在各种各样的机器学习算法,例如SVM.决策树.感知机等等.但是实际应用中,或者说在打比赛时,成绩较好的队伍几乎都用了集成学习(ensemble learning)的 ...
- C#3新增语法特性
C#3,.Net Framework 3.5 ,Visual Studio 2008, CLR 3.0 C#3.0新引进的语法基于.Net Framework 3.5.主要引进的语法:Linq,隐式类 ...
- Serilog 源码解析——数据的保存(上)
在上一篇中,我们主要研究了Serilog是如何解析字符串模板的,它只是单独对字符串模板的处理,对于日志记录时所附带的数据没有做任何的操作.在本篇中,我们着重研究日志数据的存储方式.(系列目录) 本篇所 ...
- Integer a=1,b=1,c=500,d=500;a==b,c==d;
public class test { public static void main(String[] args){ Integer a=1,b=1,c=500,d=500; System.out. ...
- linux 内存泄露 valgrind
内泄漏工具 valgrind: https://linux.die.net/man/1/valgrind www.valgrind.org/docs/manual/index.html www.val ...
- 借助boost bind/function来实现基于对象编程。
boost bind/function库的使用: 替换了stl中mem_fun,bind1st,bin2nd等函数.用户注册回调函数需要利用boost/bind转化成库中boost/function格 ...
- rpm命令介绍
rpm安装不能指定安装位置. 查看系统安装了哪些软件:rpm -qa rpm -qa |grep keyword (q:query a 是all) 查看软件是否安装: rpm -q ...
- 自动化测试_移动端测试(二)—— Appium原理
一.什么是Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver ...
- USACO 2020 OPEN Favorite Colors【并查集-启发式合并-思考】
题目链接 题意简述 仰慕喜欢同色奶牛的奶牛喜欢同色 (禁止套娃 ,求一种方案,奶牛喜欢的颜色种数最多,多种方案求字典序最小. 题目解析 这道题我最先想到的居然是二分+并查集,我在想啥 咳咳 首先,考虑 ...
- Java编发编程 - 线程池的认识(一)
每逢面试都会询问道线程池的概念和使用,但是工作中真正的又有多少场景使用呢?相信大家都会有这样的疑问:面试选拔造汽车,实际进公司就是拧螺丝!但是真正要把这颗螺丝拧紧,拧牢,没有这些最底层的知识做铺垫你可 ...