System.arraycopy()
java.lang.System类为标准输入和输出、加载文件和库或访问外部定义的属性提供了有用的方法。
java.lang.System.arraycopy()方法将源数组从特定的起始位置复制到上述位置的目标数组。要复制的参数的数量由一个参数决定。
source_Position 到 source_Position+length–1 的组件从 destination_Position 复制到 destination_Position+length–1 类声明的目标数组。
语法:
public static void arraycopy(Object source_arr, int sourcePos, Object
dest_arr, int destPos, int len)source_arr:源数组
sourcePos:源数组中要复制的起始位置
dest_arr:目标数组
destPos:目标数组中要放置的起始位置
len:要复制的长度
参考例子:
int source_arr[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };int dest_arr[] = { 15, 25, 35, 45, 55, 65, 75, 85, 95, 105};int sourcePos = 3;int destPos = 5;int len = 4;System.arraycopy(source_arr, sourcePos, dest_arr, destPos, len);输出: 15 25 35 45 55 40 50 60 70 105
memcpy() 函数声明
void *memcpy(void *str1, const void *str2, size_t n)
从存储区 str2 复制 n 个字节到存储区 str1。
str1 – 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
str2 – 指向要复制的数据源,类型强制转换为 void* 指针。
n – 要被复制的字节数。
参考例子:
int main(void)
{char src[] = "***";char dest[] = "abcdefg";memcpy(dest, src, strlen(src));printf("memcpy 后: %s\n", dest);return 0;
}输出: memcpy 后: ***defg