memcpy() -- 拷贝内存函数

Posted 好心情美文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcpy() -- 拷贝内存函数相关的知识,希望对你有一定的参考价值。

定义函数: void *memcpy(void *dest, const void *src, size_t n)
函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束‘\0‘而结束
返回值:   返回指向dest的指针
附加说明:指针src和dest所指的内存区域不可重叠
--------------------------------------------------------------------------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main()
{
      char *s="Golden Global View";
      char d[20];
      memcpy(d,s,strlen(s));
      d[strlen(s)]=0;
      printf("%s\n",d);
      system("pause");
}

------------------------------------------------------------------------------------------------------------------------------------------------

strcpy 与 memcpy

------------------------------------------------------------------------------------------------------------------------------------------------

main()
{
    char a[30] = "string (a)";
    char b[30] = "hi\0zengxiaolong";
    int i;

    strcpy(a, b);             //a[30] = "hi\0ing (a)"
    printf("strcpy():");
    for(i = 0; i < 30; i++)
    printf("%c", a[i]);   //hi ing (a)
    system("pause");

    memcpy(a, b, 30);         //a[30] = "hi\0zengxiaolong"
    printf("\nmemcpy():");
    for(i = 0; i < 30; i++)
    printf("%c", a[i]);   //hi zengxiaolong
    printf("\n i = %d\n", i); //30
    system("pause");
}

---------------------------------------------------------------------------------------------------------------------------------------------

以上是关于memcpy() -- 拷贝内存函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言串拷贝(strcpy)和内存拷贝(memcpy)函数有啥不同?

c++中内存拷贝函数(C++ memcpy)详解

C语言内存操作函数

c语言内存拷贝 memcpy()函数

库函数详解—— 内存函数+模拟实现(部分)

memcpy 的内存拷贝函数