ifstream  myfile;
myfile.open(filename);
if(!myfile)
{
  MessageBox(NULL, "打开文件失败!","错误", MB_OK); //如果文件不存在
}
while(!myfile.eof())
{
myfile.getline(buffer,100); 
sscanf(buffer,"%f  %f  %f  %f  %f  %f  %f",&a[i],&a[i+1],&a[i+2],&a[i+3],&a[i+4],&a[i+5],&a[i+6]);
}
myfile.close();

这是从txt文件读入数据的一段源码。
为什么我在要读入的txt文件数据中的每一行加入“//注释……”后,再次读入,程序运行正常,可是关闭程序时,却提示“程序遇到问题需要关闭,……”,调试时,发现程序运行到 
virtual ~basic_ofstream() { },
如果把“//注释……”去掉后,再运行程序,关闭时,程序可以正常关闭。
这是什么原因呢?应该怎么解决?