标签: variables printf
如您所见,缓冲区[0]的值在行sprintf(tittle, %03d.jpg", images);时发生变化,这与缓冲区无关。缓冲区中的所有值都已更改。我经历了我的代码一千次,我终于发现了这一点。真的很令人沮丧!有什么解释吗?
sprintf(tittle, %03d.jpg", images);
答案 0 :(得分:2)
您为title分配了4个字符,但是您尝试将8个字符(包括空终止符)写入其中。这是不合适的,C允许你用脚比喻自己。在大多数情况下,如果不是所有系统,它都会破坏记忆中的下一个系统,在你的情况下,它显然是buffer的开头。
title
buffer