strcpy函数会造成内存溢出吗

strcpy函数会导致内存溢出吗?
strcpy函数会导致内存溢出。 strcpy拷贝函数不安全,他不做任何的检查措施,也不判断拷贝大小,不判断目的地址内存是否够用。 strncpy拷贝函数,虽然计算了复制的大小,但是也不安全,没有检查目标的边界。 strncpy_s是安全的。 strcmp (str1,str2),是比较函数,若str1=str2,则返回零;若str1str2,则返回正数。 (比较字符串) strncat ()主要功能是在字符串的结尾追加n个字符。 strcat ()函数主要用来将两个char类型连接。 例如: memcpy拷贝函数,它与strcpy的区别就是memcpy可以拷贝任意类型的数据,strcpy只能拷贝字符串类型。

我觉得strcpy的这种情况应该算是非法访问吧,能算内存溢出吗?我有点无法理解

会。所以出现了新版的安全函数strcpy_s

你这个问题在c作者布莱恩· w. 克尼汉(brian w. kernighan) 的 《c程序设计语言》里就有说明。还给了函数代码。
strcpy里面就是一个while循环,以读取字符串的'\0'为结束标志。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^