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

在这里,我想了解strcpy()和strcat()的缺点

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

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

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

解决方法

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

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

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...