1、strcpy是一种C语言的标准库函数。strcpy() 函数将源字符串复制到缓冲区。没有指定要复制字符的具体数目!如果源字符串碰巧来自用户输入,且没有专门限制其大小,则有可能会造成缓冲区溢出。
2、在编写 strcpy 函数时,首先尽量使目的缓冲区长度足够长。 strcat 的问题是 strcat 需要找到 dest 的末尾,如果只连接一次倒是无所谓,但是如果用 strcat 连接三个以上字符串的话,就需要多次调用 strcat ,每次都要遍历 dest 以找到 dest 字符串的末尾,这就很低效。
3、可以在程序的开头加上 #define strcpy Unsafe_strcpy。这样,就会使 strcpy 函数在编译时产生错误,从而使我们在编程时可以完全摒弃strcpy 函数。在完全丢弃 strcpy 函数的同时,也就丢掉了众多依附于 strcpy 函数的 bug。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。