memcpy内存拷贝函数

memcpy内存拷贝函数

函数原型:void* memcpy(void *dest, void *src,size_t n);

函数功能:是从src源所指的内存的起始地址开始拷贝size_t n个字节到目标dest所指的内存的起始地址。
用法:strcpy和memcpy的区别:
(1)strcpy用于拷贝字符串,而memcpy可以拷贝任意函数;
(2)strcpy遇到“\0”就结束,memcpy是根据size_t n 来结束的。

示例:

void *memcpy(void *dest, const void *src, size_t size)
{
    assert((dest != NULL) && (src != NULL));

    char *pdest = (char*) dest;
    char *psrc = (char*) src;

    while (size-- > 0)
    {
         *pdest++ = *psrc++;
    }
    return dest;
}
int main()
{
    char strSrc[] = "Hello World!";   
    char strDest[20];               

    memcpy(strDest, strSrc, strlen(strSrc));    
    strDest[12] = '\0';               
    printf("strDest: %s\n", strDest);

    return 0;
}

你可能感兴趣的:(C++)