//#include<stdio.h>
char * strcpy(char *dst,const char *src)
{
assert(dst != NULL && src != NULL);
char * ret = dst;
while ((*dst++ = *src++) != '\0');
return ret;
}
//对于内存覆盖的情况,即src是低地址,dst是高地址,src未处理部分被dst覆盖
char * my_memcpy(char *dst,const char * src,int length)
{
assert(dst != NULL && src != NULL);
char * ret = dst;
if(dst >= src && dst <= src+length-1)
{
dst = dst + length -1;
src = src + length -1;
while(length--)
{
*dst-- = *src --;
}
}
else
{
while(length--)
{
*dst++ = * src++;
}
}
return ret;
}