函数
void* Memcpy(void* dest, const void* src, size_t num) {
assert(dest != NULL);
assert(src != NULL);
char* d = (char*)dest;
char* s = (char*)src;
while (num) {
*d++ = *s++;
--num;
}
return dest;
}
测试
#include <stdio.h>
#include <assert.h>
struct {
char name[40];
int age;
} person, person_cpy;
char str[] = "My name is sock";
//char str1[] = "sock";
//Memcpy(str, str1, 5);
//printf("%s\n", str);
Memcpy(person.name, str, strlen(str) + 1);
person.age = 20;
Memcpy(&person_cpy, &person, sizeof(person));
printf("%s %d\n", person_cpy.name, person_cpy.age);