Ici, nous verrons comment implémenter la fonction memcpy() en langage C. La fonction memcpy() est utilisée pour copier un bloc de données d'un emplacement à un autre. La syntaxe de memcpy() est la suivante -
void * memcpy(void * dest, const void * srd, size_t num);
Pour créer notre propre memcpy, nous devons transtyper l'adresse donnée en char* puis copier les données octet par octet de la source vers la destination. Lisez simplement le code suivant pour avoir une meilleure idée.
#include<stdio.h> #include<string.h> void custom_memcpy(void *dest, void *src, size_t n) { int i; //cast src and dest to char* char *src_char = (char *)src; char *dest_char = (char *)dest; for (i=0; i<n; i++) dest_char[i] = src_char[i]; //copy contents byte by byte } main() { char src[] = "Hello World"; char dest[100]; custom_memcpy(dest, src, strlen(src)+1); printf("The copied string is %s</p><p>", dest); int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; int n = sizeof(arr)/sizeof(arr[0]); int dest_arr[n], i; custom_memcpy(dest_arr, arr, sizeof(arr)); printf("The copied array is "); for (i=0; i<n; i++) printf("%d ", dest_arr[i]); }
The copied string is Hello World The copied array is 10 20 30 40 50 60 70 80 90
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!