b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

heap corruption_c new数组_policecorruption

电脑杂谈  发布时间:2017-05-25 15:08:12  来源:网络整理
heap corruption

问题:一个很正常的从txt中读数据存入动态1维数组,姑且假设为:

int *data = new int[num];

while (! infile.eof())

{

infile.getline(line,100);

data[count] = atof(line);

++ count;

}

delete []data;

本来运行正常,换了一个txt数据,到delete语句报错“heap corruptiondetected”等等,在网上搜了一些资料,如,才发现是分配数组空间和实际赋值空间不符,导致数组之后的空间被覆盖造成的问题。heap corruption其他人碰到的问题是对字符串赋了多余的值,尤其是'\0';调试我这个程序,发现从txt中明明已经读够了num个数据,还进入了while语句,原来txt数据后加了个回车,infile.eof仍判断没有结束,又读了个0出来。

解决:既然不能保证用户去掉最后的回车,那就加一句:

while (! infile.eof() && count < num)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-49190-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 蔡楠
        蔡楠

        离开制造业这个国民经济的基石

      热点图片
      拼命载入中...