我自己开发一个ATL插件,在MFC程序上调用,调式的时候发现”系统在此应用程序中检测到基于堆栈的缓冲区溢出错误...“错误。我百度了一下也没有很好的结果。我把插件换成DeBug版本附加进去,发现程序断在了strDeivce.Format((
"%s%s%d%s%d%s%s%s"
), strDeivce,
"{\"device\":"
, i,
",\"seqNbr\":"
, i,
",\"name\":\""
, name,
"\"},"
);
第一次没有问题,第二次就中断了,原来是Format函数最好不要把自己当作参数传递进去。再加一个变量就好了。