本帖最后由 costpope 于 2019-11-23 20:43 编辑
我写的一段程序数组1大约是50字节,数组2没有太在意是30字节,实际使用时就看到strcat不断在检测数组2是否到头了,(BNE 和 0x00比较)我就看见BNE比较的地址不断的在被写进新的内容,导致strcat 实际上永远读不到0x00的那个字节,然后就hard fault.
我把数组1设为150的长度,问题就解决了。
我弄不明白的是,这里面具体的细节是怎么样的,为什么会出现strcat 需要寻找‘ ’的地方不断被写入新的内容的现象。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
主要是长度和溢出
而字符判断末尾的唯一方法就是 结尾, 如果你的数组里没有 , 靠增大数组解决问题完全是因为 数组你没用完的地方是空的
当然LZ这个问题也可使用strncat来解决。
一周热门 更多>