memcpy() ফাংশনটি একটি মেমরি ব্লক অন্য লোকেশনে কপি করতে ব্যবহৃত হয়।
সিনট্যাক্স: void *memcpy(void *dest, const void *src, size_t num);
নিজস্ব memcpy বানাতে src এবং dest-কে char*-এ কাস্ট করে বাইট दर বাইট কপি করতে হয়।
উদাহরণ
#include <stdio.h>
#include <string.h>
void custom_memcpy(void *dest, void *src, size_t n) {
char *src_char = (char*)src;
char *dest_char = (char*)dest;
for (int i = 0; i < n; i++)
dest_char[i] = src_char[i];
}
int 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];
custom_memcpy(dest_arr, arr, sizeof(arr));
printf("The copied array is ");
for (int i = 0; i < n; i++)
printf("%d ", dest_arr[i]);
return 0;
}
আউটপুট
The copied string is Hello World The copied array is 10 20 30 40 50 60 70 80 90