现在的位置: 首页 > 综合 > 正文

[程序员面试题]memcpy的实现

2013年09月01日 ⁄ 综合 ⁄ 共 442字 ⁄ 字号 评论关闭
#include <iostream>
#include <string.h>
using namespace std;

void *mymemcpy(void *des,const void * src , int size)
{
    char *d = (char*)des;
    char *s = (char*)src;
    if(d < s)
        while(size--)
            *d++ = *s++;
    else
    {
        d += size-1;
        s += size-1;
        while(size--)
            *d-- = *s--;
        /*
        d += size;
        s += size;
        while(size--)
            *--d = *--s;
        */
    }
    return d;
}

int main()
{
    cout << "Hello world!" << endl;
    char src[] = "abcdefg";
    char *des = (char*)malloc(strlen(src));    //包括'\0'
    mymemcpy((void *)des,(void *)src,3);
    cout<<src<<endl;
    cout<<des<<endl;
    return 0;
}

【上篇】
【下篇】

抱歉!评论已关闭.