यहां हम देखेंगे कि सी में memcpy() फ़ंक्शन को कैसे कार्यान्वित किया जाए। memcpy() फ़ंक्शन का उपयोग डेटा के एक ब्लॉक को एक स्थान से दूसरे स्थान पर कॉपी करने के लिए किया जाता है। memcpy() का सिंटैक्स नीचे जैसा है -
void * memcpy(void * dest, const void * srd, size_t num);
अपनी खुद की यादगार बनाने के लिए, हमें दिए गए पते को char* पर टाइप करना होगा, फिर डेटा को स्रोत से गंतव्य बाइट तक बाइट द्वारा कॉपी करना होगा। बेहतर विचार प्राप्त करने के लिए बस निम्नलिखित कोड को देखें।
उदाहरण
#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\n", 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. है