两个错误

今天写程序时遇到的两个错误

Block_TYPE_IS_VALID...

这个后来发现是在对Delete过的内存再次Delete了。

Heap corruption detected

这个开始调了好久,后来发现是delete s出错,

我的程序大致是这样的

char*s =new char[MSG_LENGTH]();

itoa(MSG_TYPE,s,10);

...

delete s;

这里MSG_LENGTH是4,MSG_TYPE是1001-1010的某个数

itoa我只知道可以把整数转换成字符串,所以我想MSG_TYPE既然是4位整数,那么s给4位也就可以呢?

然后就出错了。搞了好久,网上查别人有类似的是ssprintf的问题。

itoa估计后面还要填个0.唉

原文地址:https://www.cnblogs.com/cavehubiao/p/3518036.html