memcpy() फ़ंक्शन एक इनबिल्ट फ़ंक्शन है जिसका उपयोग डेटा को स्रोत स्थान से गंतव्य स्थान पर कॉपी करने के लिए किया जाता है।
memcpy फ़ंक्शन का प्रोटोटाइप -
void * memcpy(void *destination_location, void *source_location, size_t size)
हम स्रोत से गंतव्य तक चरित्र प्रतिलिपि डेटा के आधार पर करेंगे।
समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम,
उदाहरण
#include<stdio.h> #include<string.h> void MemcpyFunc(void *dest, void *src, size_t n){ char *dataS = (char *)src; char *dataD = (char *)dest; for (int i=0; i<n; i++) dataD[i] = dataS[i]; } int main() { char dataS[] = "Hello!"; char dataD[100]; MemcpyFunc(dataS, dataD, strlen(dataS)+1); printf("Copied string is %s", dataD); return 0; }
आउटपुट
Copied string is Hello!
मेममूव () फ़ंक्शन memcpy () के समान है, यह डेटा को स्रोत से गंतव्य चार तक चार द्वारा कॉपी करता है। यह मेमकॉपी () के मुद्दे पर काबू पाता है जो तब होता है जब स्रोत और गंतव्य एक दूसरे को ओवरलैप करते हैं।
हमारे memmove() में, हम एक अस्थायी सरणी का उपयोग करेंगे जो अतिव्यापी स्रोत और गंतव्य समस्या को संभालती है।
समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम,
उदाहरण
#include<stdio.h> #include<string.h> void MemcpyFunc(void *dest, void *src, size_t n){ char *dataS = (char *)src; char *dataD = (char *)dest; char *temp = new char[n]; for (int i=0; i<n; i++) temp[i] = dataS[i]; for (int i=0; i<n; i++) dataD[i] = temp[i]; } int main() { char dataS[] = "Hello!"; char dataD[100]; MemcpyFunc(dataS, dataD, strlen(dataS)+1); printf("Moved string is %s", dataD); return 0; }
आउटपुट
Moved string is Hello!