memcpy 与strcpy的区别

memcpy 与strcpy的区别

 

C/C++中mencpy的代码实现:https://www.cnblogs.com/goul/p/10191705.html

C/C++中strcpy的代码实现:https://www.cnblogs.com/goul/p/9569477.html

 

strcpy和memcpy主要有以下3方面的区别。

  1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

             企业中使用memcpy很平常,因为需要拷贝大量的结构体参数。

             memcpy通常与memset函数配合使用。

  2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。

            memcpy则是根据其第 3个参数决定复制的长度。

    因此strcpy会复制字符串的结束符“\0”,而memcpy则不会复制。

  3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。

你可能感兴趣的:(C/C++,C)