// 实现strcpy
// 为什么返回char *? 为了实现链式表达式,如:int len = strlen(strcpy(dest, src));
char *strcpy(char *dest, const char *src)
{
assert(dest && src);
char *str = dest;
while ((*dest++ = *src++) != '\0');
return str;
}
// 实现memcpy
void *memcpy(void *dest, const void *src, size_t count)
{
assert(dest && src && count > 0);
void *ret = dest;
while (count--)
{
*(char *)dest = *(char *)src;
dest = (char *)dest + 1;
src = (char *)src + 1;
}
return ret;
}