地产网站开发,城乡与建设厅网站首页,北京市两学一做网站,礼品网站制作转载#xff1a;http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.html
strcpy与memcpy都是标准的C库函数#xff0c;strcpy提供了字符串的复制。即strcpy只用于字符串复制#xff0c;并且它不仅复制字符串内容之外#xff0c;还会复制字符串的结束符。
已知…转载http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.html
strcpy与memcpy都是标准的C库函数strcpy提供了字符串的复制。即strcpy只用于字符串复制并且它不仅复制字符串内容之外还会复制字符串的结束符。
已知strcpy函数的原型是char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制因此用途更广。
void *memcpy( void *dest, const void *src, size_t count ); char* strcpy(char* dest,const char*src)
{if (destNULL||srcNULL){return NULL;}char* pdestdest;while((*dest*src)!\0);return pdest;
}
void* memcpy(void* dest,const void*src,size_t count)
{assert(dest!NULLsrc!NULL);char* pdest(char*)dest;char* psrc(char*)src;while(count--0){*pdest*psrc;}
return dest;
}二者的区别在于1.复制的内容不同。strcpy只能用于字符串的复制而memcpy可以复制任何内容例如字符数组整型结构体类等。
2.复制的方法不同。strcpy不需要指定复制的长度一直复制到遇到字符串结束符\0结束而memcpy则是根据第三个参数决定复制的长度。
3.用途不同。通常在复制字符串时用strcpy;而若复制其它类型数据则一般用memcpy.