memcpy:
函数原型:void *memcpy(void *dest, const void *src, size_t n);
功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
返回值:指向dest的指针。
说明:memcpy会完整的复制n个字节,不会因遇到字符串结束符’\0’而结束。而strcpy则是遇到字符串结束符’\0’而结束。
strcpy:http://www.cplusplus.com/reference/cstring/strcpy/
函数原型:char * strcpy ( char * destination, const char * source );
功能:从源source所指的内存地址的起始位置拷贝字符到destination目的地址中,直到遇到结束符\0而结束。
strcpy和memcpy的区别:
(1)复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
(2)复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符”\0”才结束,所以容易溢出。 memcpy则是根据其第3个参数决定复制的长度。
memcpy和strcpy的区别
strcpy与memcpy详解
最新推荐文章于 2025-09-18 09:24:45 发布
本文详细对比了字符串复制函数strcpy与通用内存复制函数memcpy的功能及使用方法。解释了两者之间的主要区别,包括复制内容的不同(strcpy仅限于字符串,memcpy适用于各种类型的数据),以及复制过程中的区别(strcpy遇到终止符停止,易造成溢出;memcpy则按指定长度复制)。
579

被折叠的 条评论
为什么被折叠?



