fstreamからのgetline命令に問題があります。これは私のコードからの抜粋です:
boolean_1=true;
while(true)
{
if(boolean_1)
{
//some stuff
}
else
{
save_file.open("save.txt", fstream::in);
//some stuff
save_file.close();
}
mission_file.open(filename, fstream::in);
mission_file.getline(buffer_line, 256);
//some other stuff
boolean_1=false;
save_file.open("save.txt", fstream::out);
//write something
save_file.close();
}
このコードは、最初に実行されたときにmission_fileを開き、次の反復で保存ファイルを開く必要があります。保存ファイルは、すべてのサイクルの最後に作成されます。少なくとも、このように機能するはずです。なぜなら、最初はすべてが完璧に機能しますが、次の反復では「mission_file.getline(buffer_line、256);」です。空の行を返し、プログラムをクラッシュさせます。また、boolean_1がfalseとして開始された場合、サイクルは次のサイクルまで正常に機能します。
必要な「.txt」の存在をすでに確認しました。mission_fileとsave_fileの両方がis_open()trueを返します。