char *my_strcpy(char *dst, const char *src, size_t cnt)
{
if (nullptr == dst || nullptr == src || cnt == 0)
return nullptr;
char *temp1 = dst;
const char *temp2 = src;
if (dst <= src || src + cnt <= dst)
{
while (cnt--)
*temp1++ = *temp2++;
}
if (dst > src)
{
temp1 += cnt;
temp2 += cnt;
while (cnt--)
*temp1-- = *temp2--;
}
return dst;
}