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