函数原型
void *memcpy(void*dest, const void *src, size_t n);
定义
const void *src 为不可变更源数据,
void *dest 为数据复制的“目的地”,
size_t n 为复制的数据长度
功能
由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。
*(功能描述摘自?C函数之memcpy()函数用法_冀博-CSDN博客_memcpy函数)
以 MSND Library memcpy函数描述的例子举例:
#include <memory.h>
#include <string.h>
#include <stdio.h>
char string1[60] = "The quick brown dog jumps over the lazy fox";
void main( void )
{
printf( "Function:\tmemcpy without overlap\n" );
printf( "Source:\t\t%s\n", string1 + 40 );// string1[40] 第41个数据‘f’作为起始地址
printf( "Destination:\t%s\n", string1 + 16 );// string1[16] 第17个数据‘d’作为起始地址
memcpy( string1 + 16, string1 + 40, 3 );
// 将string1中第41个数据作为起点,复制三个数据到string1中第17个数据作为起点的数据中
//实质就是用‘fox’替换掉‘dog’
printf( "Result:\t\t%s\n", string1 );
printf( "Length:\t\t%d characters\n\n", strlen( string1 ) );
}
运行结果:
Function: memcpy without overlap
Source: fox
Destination: dog jumps over the lazy fox
Result: The quick brown fox jumps over the lazy fox
Length: 43 characters
|