char* strcpy(char* des, char* src)
功能:将src中的字符复制到des中,直到遇到空字符为止
实现的时候要考虑src和des中的区域重叠的地方
void* memcpy(void* des, const void* src, size_t size)
{
if (size < 0)
return NULL;
char* d = (char*)des;
const char* s = (const char*)src;
if (des < src || (d - s) > size)
{
while (size)
{
*d++ = *s++;
size--;
}
}
else
{
d = d + size - 1;
s = s + size - 1;
while (size)
{
*d-- = *s--;
size--;
}
}
return des;
}
char* strcpy(char* des, const char* src)
{
assert(des != NULL);
assert(src != NULL);
char *d = des;
memcpy(des, src, strlen(src) + 1);
return d;
}