1. 程式人生 > >自己實現的memcpy

自己實現的memcpy

void*my_memcpy(void*dst, void* src, int size)
{
    
int len =sizeof(long);
    
long*pdst = (long*)dst;
    
long*psrc = (long*)src;

    
for (; size >= len; ++pdst, ++psrc, size -= len)
    {   
        
*pdst =*psrc;
    }   

    
for (len = size, size =0; size < len; ++size)
    {   
        
*((char*)pdst +
 size) =*((char*)psrc + size);
    }   

    
return dst;
}

int main()
{
    
char src[] ="hello", dst[10= {'\0'};

    my_memcpy(dst, src, 
5); 
    printf(
"dst = %s\n", dst);

    
return0;
}