关于sprintf_s,弹出Expression:(“Buffer too small”,0)

这个问题大家应该都清楚,是调用了vsprintf.c的里面的sprintf_s函数,目标内存太小导致程序崩溃了。

如果项目使用的地方不多,那每个地方仔细检测一下,应该能解决掉。

但是,我在项目中遇到的调用这个函数的地方上千行,没法一个一个去检测,所有我把这个函数全部由:  _snprintf 这个函数来替换,它的好处就是当目标内存太小时,这个函数返回-1,不会是程序崩溃掉。

    

 

posted @ 2021-07-18 15:48  zwj鹿港小镇  阅读(628)  评论(0编辑  收藏  举报