snprintf()打印输出越界

时间:2015-10-04 01:37:25

标签: c embedded printf iar

C新手在这里。一直在搞乱嵌入式微控制器,我注意到当我设置一个缓冲区:char buffer[100]然后打印到它:snprintf(buffer, 20, "Just A test");时,我的内存映射显示不仅我预期的字节被更改。

结果,意外变量似乎受到影响。我做错了什么?

编辑:好的,我拍了一下情况的截图。黑色的存储器映射刚刚启动到所有FF。然而,在sprintf打印到缓冲区之后,它会产生预期的变化以及不期望的变化(在红色框中没有预期的突出显示,在该框下面也是红色。我更关心红色框,因为它似乎覆盖了一些我的预期变化)

enter image description here

EDIT2:似乎增加堆栈大小有助于此。我想我有一个问题的版本:sprintf corrupting arrays in IAR microcontroller

0 个答案:

没有答案