为什么 character_arrays.exe has stopped working 错误弹出?

why does character_arrays.exe has stopped working error pop up?

我的代码运行良好。它在文件中显示了正确的结果,但在执行代码后,弹出一条错误消息,提示“character_array.exe 已停止工作”。谁能告诉我为什么会出现这个错误??

#include <iostream>
#include<cstring>
#include<fstream>
#include<string>
using namespace std;

int main()
{
    string name[20], roll_no[20];
    int price[20], k=0;
  ifstream data;
  ofstream dout;
  char fname[4];
  char fname1[]={"dout"};
  cout<<"enter file name : ";
  cin.getline(fname, 20);
  if(strcmp(fname,fname1) !=0)
  {
      cout<<"file names do not match";
  }
  else{
  data.open("new.txt");
  while(!data.eof())
  {
      for(int i=0; i<20; i++)
      {
          data>>name[i]>>roll_no[i]>>price[i];
          k++;
      }
  }
  data.close();
   cout<<"data in the text file is:"<<endl;
  for(int i=0; i<6; i++)
  {
     cout<<name[i]<<"  "<<roll_no[i]<<"  "<<price[i]<<endl;
  }

  dout.open("output.txt");
  for(int i=0; i<6; i++)
  {
      dout<<name[i]<<"  "<<roll_no[i]<<"  "<<price[i]<<endl;
  }
  }

return 0;
}

我假设你的问题是一个无限循环,如果你的 IDE 支持断点,我建议你在你的 while 循环中添加一个,看看它是否永远运行。