因为自己主要用到的是C语言,所以这里只学习C语言的,C++应该是一样的。
常见用法和区别
头文件
#include
声明
![46519926cb460d9d07363484cd3fc7da.png](https://i-blog.csdnimg.cn/blog_migrate/4baff0e3a7c9f49b8fd729532ddea474.jpeg)
两者区别
strcpy只能拷贝字符串。strcpy遇到 '0'拷贝结束(当dest的内存长度大于src的长度,拷贝时将'0’带过去,'0’后面的内容不再拷贝);如果当dest的内存长度小于src的长度,那么会造成内存溢出等问题,所以有了strncpy函数,就是增加了长度控制。
memcpy从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中,可以拷贝任意数据。除了拷贝字符串外,还能拷贝其他的类型的数据,比如结构体,整型数据,类等。memcpy拷贝时需要带有长度参数。
Linux man手册关于二者的描述
strcpy
The strcpy() function copies the string pointed to by src, includ