加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么strcpy()和strcat()在嵌入式域中不好用

发布时间:2020-12-16 10:46:05 所属栏目:百科 来源:网络整理
导读:在这里,我想了解strcpy()和strcat()的缺点 我想了解嵌入式域/环境中的这些功能危险区域. 有人告诉我,我们从不在嵌入域中使用strcpy,strcat和strlen函数,因为它以null结尾,有时我们处理加密数据和null字符,所以我们无法得到实际结果,因为这些函数停止在null字
在这里,我想了解strcpy()和strcat()的缺点

我想了解嵌入式域/环境中的这些功能危险区域.

有人告诉我,我们从不在嵌入域中使用strcpy,strcat和strlen函数,因为它以null结尾,有时我们处理加密数据和null字符,所以我们无法得到实际结果,因为这些函数停止在null字符上.

所以我想知道这些功能的所有东西和其他替代品.我们如何使用其他替代功能

解决方法

str *函数适用于字符串.如果您正在处理字符串,只要您正确使用它们就可以使用它们 – 如果您错误地使用它们,则很容易创建 buffer overflow.

如果你正在处理二进制数据,听起来就像你一样,字符串处理函数是不合适的(它们毕竟是用于字符串,而不是二进制数据).使用mem *函数处理二进制数据.

在C中,字符串是以nul字节结尾的字符序列.如果您正在处理二进制数据,那么很可能是该数据中值为0的char,字符串处理函数假定为字符串的结尾,或者数据不包含任何nul字节且不是nul终止,这将导致字符串函数超出缓冲区的末尾.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读