memcpy()函数

来源:互联网 发布:imac装windows系统 编辑:程序博客网 时间:2024/05/17 21:06
表头文件: #include <string.h>
定义函数: void *memcpy(void *dest, const void *src, size_t n)
函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。在下面程序中,strcpy只复制hi,因为/0结束时,strcpy也结束,而memcpy会完整复制30个字节,不管有没有/0。这点需要注意。
返回值:   返回指向dest的指针
附加说明: 指针src和dest所指的内存区域不可重叠

测试代码如下:

#include <string.h>#include <stdio.h>int 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)    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}

原创粉丝点击