memcpy()用於將一個內存塊從一個位置複製到另一個位置。在string.h中聲明
// Copies "numBytes" bytes from address "from" to address "to" void * memcpy(void *to, const void *from, size_t numBytes);
下麵是一個示例C程序,顯示memcpy()的工作。
/* A C program to demonstrate working of memcpy */
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[] = "Geeks";
char str2[] = "Quiz";
puts("str1 before memcpy ");
puts(str1);
/* Copies contents of str2 to sr1 */
memcpy (str1, str2, sizeof(str2));
puts("\nstr1 after memcpy ");
puts(str1);
return 0;
}
輸出:
str1 before memcpy Geeks str1 after memcpy Quiz
筆記:
1)memcpy()不檢查是否溢出或\ 0
2)當源地址和目標地址重疊時,memcpy()會導致問題。
memmove()是另一個很好處理重疊的庫函數。
相關用法
注:本文由純淨天空篩選整理自 memcpy() in C/C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。