现在的位置: 首页 > 综合 > 正文

C的memcpy,memmove和strcpy的区别是什么?

2013年09月21日 ⁄ 综合 ⁄ 共 308字 ⁄ 字号 评论关闭

strcpy只能处理字符串;如果拷贝带有特殊字符的串.就只能用memcpy或memmove。memcpy和memmove功能基本上差不多,但是当源串和目标串有Overlap时,memmove可以正确处理,memcpy则不行。

 

strcpy是拷贝字符串,以/0为标志结束(即一旦遇到数据值为0的内存地址拷贝过程即停止)
strcpy的原型为
char *strcpy(char *dest, const char *src)
而memcpy是给定来源和目标后,拷贝指定大小n的内存数据,而不管拷贝的内容是什么(不仅限于字符)
memcpy的原型为
void *memcpy(void *dest, const void *src, size_t n);

抱歉!评论已关闭.