c语言memcpy函数用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言memcpy函数用法
memcpy函数,它是C语言中用于字符串复制的一个标准函数。

它是利用存储器地址从源内存块复制数据到目标内存块的标准的内存拷贝函数,它的作用就是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。

memcpy函数的声明如下:
void *memcpy(voic *dest,const void *src,size_t n);
其中参数dest是指向目标内存的指针,src是指向源内存的指针,n是要复制的字节数,拷贝工作由memcpy函数完成,memcpy函数返回dest,即目标内存起始地址。

另外,n计量并不是字符个数,而是字节数。

由于memcpy把存储器中的源内存块拷贝到目标内存块,它可以用于字符串复制,也可以用于内存块复制,例如,可以用memcpy函数实现字符数组和结构体数组的拷贝。

1. 对于字符串的拷贝
应该把从字符串start起的n个字节复制到strdest中:
char *strdest;
char *start;
size_t n;
在从adr起的n个字节的内存块复制到block中:
block = memcpy(block,adr,n);
下面介绍一个memcpy函数的实现原理,memcpy函数的实现代码如下:
{
unsigned char *p1 = (unsigned char *)dest; //把dest转换成unsigned char 指针
unsigned char *p2 = (unsigned char *)src; //把src转换成unsigned char 指针
int i;
for( i=0; i < n; i++ )
*p1++ = *p2++;
return dest;
}
从上面的代码可以看出,memcpy的核心作用是把src指向的字节拷贝到dest指向的
字节中,它以字节为单位,以循环的方式复制。

memcpy是C语言中常用的一个函数,它可以完成从源内存复制数据到目标内存的工作。

它是一个通用函数,可以用于字符串复制或者内存块复制,其实现原理也简单。

相关文档
最新文档