0

ファイル「CustomerDetails」に以前に書き込んだオブジェクト (現在、ファイルには 1 つのオブジェクトしかありません) を読み込もうとしています。私のプログラムは、常に終了した後、突然終了しread first objectます。

ここで何が間違っていますか?

ifstream file;
try
{
  file.open("CustomerDetails.dat",fstream::in|fstream::binary);
  if(file.is_open())
  {
    while(1)
    {
      cout<<"Current Position\n"<<file.tellg()<<endl;
      file.read((char*)this,sizeof(*this));
      if(file.eof()) break;

      cout<<"read first object\n";
      if(!(this->accountNo).compare(accountNumber)&& this->isDeleted==false)
      {
          cout<<"Account Found!!\n Current Balance="<<this->balanceAmount<<endl;
      }              
      cout<<"End of loop loop\n";            
    }
  }
  else
  {
      cout<<"Error opening file.\n";
  }
  file.close();
}
catch(...)
{
  cout<<"Exception Caught\n";
}
4

1 に答える 1