我用vector存放类里面的数据,当里面的数据才只有两个的时候内存就占用几百MB,导致程序崩溃。只录入一个数据就可以正常的运行程序。
或者把文件相关的代码注释后,也能正常运行。
求大佬看看文件的读写操作有什么问题
如有帮助,请点击我的回答下方的“采纳该答案”帮忙采纳一下,谢谢。
估计你这个读的while有问题,一直没有结束,死循环了吧
打开你写入的文件看看大小和内容,是否正常
应该是读取失败了,需要在while中增加判断,如果失败了就返回。
while循环不建议你这么写。修改如下:
while (1)
{
ifs >>name >> ISBN >> number >> writer >> press >> publish_time>>publish_number >>price>>amount;
//这里判断是否读取失败,如果不判断失败会导致死循环
if(ifs.fail())
break;
}