您的位置:首页 > 其它

memcpy和strcpy的区别

2016-07-06 15:23 176 查看
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个参数决定复制的长度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  strcpy memcpy