我有一个strcpy到处都在使用的大型项目。我正在考虑使用strcpy_s而不是strcpy. 我想我已经使用了近 10,000 次strcpy。每次都换好麻烦strcpy。有什么有效的转换方法吗?
你真的不应该在没有检查的情况下这样做,因为如果不明智地完成,加强缓冲区管理的意义就消失了。
由于目标缓冲区的性质(例如静态或堆分配)在涉及 的正确参数时非常重要strcpy_s(),并且该信息当然不存在于现有strcpy()调用中,因此您必须以任何方式添加它。这需要一个人。
通常像这样的调用strcpy(dest, src);可以转换为strcpy_s(dest, sizeof dest, src);,但是如果dest是堆分配的,这将只是指针的大小而不是指向的缓冲区,这当然是错误的。
| 归档时间: |
|
| 查看次数: |
3672 次 |
| 最近记录: |