C语言 memcpy()
函数用于复制内存地址,在C语言中strcpy()函数也可以用来复制,它只能用来复制字符串。
memcpy和strcpy区别
- strcpy只能复制字符串,memcpy可以复制任意内容
- strcpy遇到'\0'结束,memcpy可以指定复制的长度。
语法
void* memcpy( void* destination , const void* source, size_t num);
参数
参数 | 说明 |
---|---|
destination | 指定复制内容的目标数组,指针表示。 |
source | 指定要复制的数据源数组,指针表示。 |
num | 指定要复制的字节数,例如sizeof(int) sizeof(char)。 |
返回值
没有返回值
例子
介绍一些例子,了解c语言memcpy()函数的使用方法。
字符串或者说字符数组复制的例子
#include <stdio.h>
#include<string.h>
int main( )
{
char src[60] = "yxjc123.com";
char dest[] = { 0 };
int i ;
//将src拷贝到dest
memcpy(dest, src, 7 * sizeof(char));
//printf("%s", dest);
for (i = 0; i < 7; i++)
printf("%c ", dest[i]);
getchar();
return 0;
}
输出:
y x j c 1 2 3
复制int数组的例子
#include <stdio.h>
#include<string.h>
int main( )
{
int src[10] = { 1,2,3,4,5,6,7,8,9,10 };
int dest[5] = { 0 };
int i ;
//将src拷贝到dest
memcpy(dest, src, 7 * sizeof(int));
//printf("%s", dest);
for (i = 0; i < 7; i++)
printf("%d ", dest[i]);
getchar();
return 0;
}
输出:1 2 3 4 5 6 7