`

memcpy() -- 拷贝内存内容

阅读更多
memcpy() -- 拷贝内存内容
2007年07月06日 星期五 09:07
相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy()
表头文件: #include <string.h>
定义函数: void *memcpy(void *dest, const void *src, size_t n)
函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\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]); //hiing (a)


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

}
分享到:
评论

相关推荐

    C/C++面试之算法系列--几个典型的内存拷贝及字符串函数实现

    C/C++面试之算法系列--几个典型的内存拷贝及字符串函数实现 写一个函数,完成内存之间的拷贝。[考虑问题是否全面,是否考虑内存重叠问题] 返回void *支持链式操作,参数类型是void *以支持任意类型的指针,输入...

    C语言中memcpy 函数的用法详解

    c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。 void* memcpy(void* destination, const void* source, size_t num); void*...

    内存拷贝的优化方法——

    以P4平台下内存拷贝操作为例,根据AMD提供的优化文档中的例子,介绍如何通过特定指令集,优化内存带宽的使用

    memcpy的用法

    memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域)

    C函数之memcpy()函数用法

    函数原型  void *memcpy(void*dest, const void *src, size_t n);  功能  由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始...  memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型

    C++中memcpy和memmove的区别总结

    memcpy内存拷贝,没有问题;memmove,内存移动?错,如果这样理解的话,那么这篇文章你就必须要好好看看了,memmove还是内存拷贝。那么既然memcpy和memmove二者都是内存拷贝,那二者究竟有什么区别呢? 先说memcpy 你...

    C实现内存拷贝以及字符串拷贝函数

    C实现内存拷贝以及字符串拷贝函数。。。。。。。。。

    c++ 面试题 总结

    ==strcpy拷贝的结束标志是查找字符串中的\0 因此如果字符串中没有遇到\0的话 会一直复制,直到遇到\0,上面的123都因此产生越界的情况 建议使用 strncpy 和 memcpy ---------------------------------------------...

    基于C++执行内存memcpy效率测试的分析

    如下基于8K的内存快执行memcpy, 1个线程大约1S能够拷贝500M,如果服务器带宽或网卡到上限是1G,那么网络io的work thread 开2个即可,考虑到消息的解析损耗,3个线程足以抗住硬件的最高负载。 在我到测试机器上到测试...

    memcpy的实现

    内存拷贝的实现函数。此函数完全可以自己用,如果需要可以自己改进。

    对比C语言中memccpy()函数和memcpy()函数的用法

    函数说明:memccpy()用来拷贝src 所指的内存内容前n 个字节到dest 所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c 是否出现,若是则返回dest 中值为c 的下一个字节地址。 返回值:返回指向dest ...

    16_处理内存重叠问题1

    } 从实现中可以看出memcpy()是从内存左侧一个字节一个字节地将src中的内容拷贝到dest的内存中,这种实现方式导致了对于图中第二种内存重叠情形下,最后两

    memcpy.zip

    内存拷贝函数的一种高效实现,可用于大数据处理的改进

    字符串及其操作以及函数实现

    字符操作及其有关函数实现字符串复制函数: char * my_strcpy(char * dest, const char * src); 字符串拼接函数: char *my_... 实现 memcpy 拷贝:内存拷贝: void * memcpy(void * dest, const void * src, size_t len);

    C语言中字符串的内存地址操作的相关函数简介

    C语言bcopy()函数:复制内存(字符串) ...bcopy()与memcpy()一样都是用来拷贝src 所指的内存内容前n 个字节到dest 所指的地址,不过参数src 与dest 在传给函数时是相反的位置。 bcopy() 不检查内存(字符串)中的空字节

    C/C++面试题目及解答.doc

    3.memcpy 函数顾名思义就是 内存拷贝,实现 将一个 内存块 的内容复制到另一个 内存块 这一功能。内存块由其首地址以及长度确定。程序中出现的实体对象,不论是什么类型,其最终表现就是在内存中占据一席之地...

    copyarr_copyarry_

    数组拷贝,不使用memcpy和memmove,有很多坑,避免内存溢出

    linux_c API函数大全

    memcpy(拷贝内存内容) 39 5.9 40 memmove(拷贝内存内容) 40 5.10 40 memset(将一段内存空间填入某值) 40 5.11 40 rindex(查找字符串中最后一个出现的指定字符) 40 5.12 41 strcasecmp(忽略大小写比较字符串...

    四个拷贝函数的分析与实现

     3: memcpy()和memmove()这两者的区别在于内存重叠的处理。  4:本文给出的代码都是基于函数的功能所写的代码,不一定是官方的实现代码。但是实现的功能是一样的。  展开:  /******************************...

    C_C++问题总结

    2.2 strcpy、sprintf与memcpy 2.3 new/delete 与 malloc/free 2.4 确定一个数转化成二进制后是1的位的个数 2.5 ++i和i++的区别 3. 常见问题 3.1 数组名和指针的区别 3.2 指针和引用的区别 3.3 构造函数能否为虚函数 ...

Global site tag (gtag.js) - Google Analytics