memcpy的用法与strcpy的区别及纯c语言实现

void * memcpy ( void* destination, const void * source, size_t num );

函数功能:

由source所指内存区域复制num个字节到destination所指内存区域。

函数返回:

指向destination的指针。

1 memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

2 memcpy根据其第3个参数决定复制的长度,strcpy不需要指定长度,它遇到字符串结束符"\0"便结束。

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

void* _memcpy(void *des, const void *scr, size_t n)
{
	void *res=des;
	assert(des!=NULL&&scr!=NULL);
	//这里将void*强制转换成char*类型
	while(n--)
	{
		*((char *)des)++=*((char *)scr)++;
	}
	return res;
}
时间: 2024-11-10 07:04:00

memcpy的用法与strcpy的区别及纯c语言实现的相关文章

memcpy函数用法

memcpy函数用法 .分类: VC++ VC++ mfc matlab 2011-12-01 19:17 14538人阅读 评论(0) 收藏 举报 null 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域. 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针. 举例: //

memcpy函数用法(转)

原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include <string.h>功能:由src所指内存区域复制count个字节到dest所指内存区域.说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针.举例: #include <syslib.h> #include <string.h> main() { char *s="Golden Glob

C++面试题4:memcpy的用法

C++面试题4:memcpy的用法 memcpy函数用于把资源内存(src所指向的内存区域)拷贝到目标内存(desk所指向的内存区域):拷贝多少个?有一个size变量控制 用法:可以拷贝任何类型的对象,因为函数的参数类型是void*,也就是说传进去的实参可以是int *,short*,char*等等. 原型:void *memcpy(void *desc, void *src, unsigned int count) 实现memcpy void *memcpy(void *desc,const

memcpy的用法及实现

memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中,返回dest所指内存地址的起始位置. #include <string.h>#include <stdio.h>#include <stdlib.h>void* Memcpy(void *dst, const void *src, size_t size){    if((dst==NULL)||(src==NULL)) return NULL;    c

memcpy的用法总结

memcpy的用法总结 1.memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数:函数原型:void *memcpy(void *dest, void *src, unsigned int count);用法:(1)可以拷贝任何类型的对象,因为函数的参数类型是void*(未定义类型指针),也就是说传进去的实参可以是int*,short*,char*等等,但是由于函数拷贝的过程是一个字节一个字节的拷

malloc、ralloc、calloc的用法,作用,区别,及实现原理

先来看一下三个函数的声明: void * malloc(usigned size); void * realloc(void *ptr, unsigned newsize); void * calloc(size_t numElements, size_t sizeofElement); 它们都包含在#include <stdlib.h>头文件中,他们的返回值都是请求分配的地址,如果请求失败就返回NULL 解释一下这三个函数的用法.作用.区别. malloc() malloc()在内存的动态存

C的memcpy和strcpy的区别

strcpy是拷贝字符串,以\0为标志结束(即一旦遇到数据值为0的内存地址拷贝过程即停止) strcpy的原型为 char *strcpy(char *dest, const char *src) 而memcpy是给定来源和目标后,拷贝指定大小n的内存数据,而不管拷贝的内容是什么(不仅限于字符) memcpy的原型为 void *memcpy(void *dest, const void *src, size_t n);

GCD和NSOperation 的概念,用法及之间的区别

CGD与NSOperation的区别 gcd是基于c的底层api,NSOperation属于object-c类.相对于gcd:1,NSOperation拥有更多的函数可用,具体查看api.2,在NSOperationQueue中,可以建立各个NSOperation之间的依赖关系.3,有kvo,可以监测operation是否正在执行(isExecuted).是否结束(isFinished),是否取消(isCanceld).4,NSOperationQueue可以方便的管理并发.NSOperatio

转: memcpy的用法总结

1.memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数:函数原型:void *memcpy(void *dest, void *src, unsigned int count);用法:(1)可以拷贝任何类型的对象,因为函数的参数类型是void*(未定义类型指针),也就是说传进去的实参可以是int*,short*,char*等等,但是由于函数拷贝的过程是一个字节一个字节的拷贝的,所以实际操作的时候