Skip to content

#深信服秋招 #291

@MyLinChi

Description

@MyLinChi

问题

memcpy函数的实现

求解

    void* my_memcpy(void* dest, const void* src, int n) {
        if (dest == nullptr || src == nullptr)return nullptr;
        char* pdest = (char*)dest;
        char* psrc = (char*)src;
        if (pdest >= psrc && pdest < psrc + n) {
            pdest = pdest + n - 1;
            psrc = psrc + n - 1;
            for (; n--; *pdest-- = *psrc--);
        }
        else {
            for (; n--; *pdest++ = *psrc++);
        }
        return pdest;
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions