C语言实现memcpy

#include <stdio.h>
#include <assert.h>

void *manger(void* str, void* str1, size_t count)
{
    assert(str == NULL || str1 == NULL);

    char* ch1;
    const char* ch2;
    if (str < str1 || str > (str1 + count))
    {
        ch1 = (char*)str;
        ch2  = (char*)str1;
        while (count -- )
        {
            *ch1++ = *ch2++;
        }   
    }
    else /* overlap */
    {
        ch1 = (char*)(str + count - 1);
        ch2 = (char*)(str1 + count - 1);
        while (count -- ){
            *ch1 -- = *ch2 --;
        }
    }
    return str;
}
全部评论

相关推荐

05-03 12:45
西南大学 Java
sdgfdv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
劝退式:感觉有人回才是不正常的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务