strcpy_s Buffer is too small 出错根本原因

  从字面意思就知道,要拷贝的目的空间太小。 只是对于这个拷贝的来源要心里有数才知道要改哪里。

今天我的程序在下午3点多写数据库的时候出现了这个提示,我之前有碰到过所以知道怎么修改。恩,不知道的google ,百度等都是正确的解决办法。改完之后程序写了一条记录到数据库中。很完美了,不是吗?

       但是,我的程序就启动不起来了。我第一感觉就是刚才改动的地方有点多,不知道改到什么地方了。查看一下备份。备份是好的,可以运行的程序。但是见鬼的,备份的也出错了。再找前天备份的,还是有错,都是这个错误。

不可能的呀,备份的时候程序都是好的呀?!

想不到在构造函数中什么时候用到了这个sprintf_s和strcpy_s 这个函数,应该没有的呀!即使有以前也没有错呀?

还有就是我的程序因为一些加密的dll不能调试,卧槽,只能注释代码,一条一条的排除语句。经过半个小时左右,啊还是别人帮忙的害羞,终于找到了。程序写了近一个月,之前的有用到这个函数的地方给忘了,况且被封装了并且我十分没有想到的,为什么会连带着所有的备份都不能运行的。他们之间有什么关联呢? 

看到错误的语句就知道了,是的,聪明的人早就明白了吧。数据库。他们公用一个数据库。今天修改的错误成功之哈偶写了一条信息到数据库。程序启动时从数据库中读数据。这条数据就是超过了我定义好的buffer空间大小。

所以,当提示这条  Buffer is too small 出错时,肯定是空间不足。如果你的空间分配很明显的话,很快就改好的,如果资源的来源不清晰,还是好好查查来源的时候有没有出错也是解决这个问题的根本。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值