如何删除文本文件中存储的数据?

问题描述

由于@RemyLebeau,下面的代码基于我原来的代码进行了修改以修复错误。 这很好,但出现了一个新问题,当我想使用菜单中的选项 4 删除学生数据时,在输入他们的 ID 后,它说他们的数据已被删除,但事实并非如此。在控制台的末尾,消息“从文件读取数据时出错”,在标准错误流 (cerr) 下,不断出现。我试图修复它的所有尝试都失败了。 error_display

ffmpeg -y -ss 00:00:05 -t 240 -i input.mov -to 10 -qscale 0 output.mov output_audio.wav

解决方法

错误是因为fin(在deleteData()函数中)运行到文件末尾,最后fin存储nullptr (布尔转换为 false)这就是 else 语句运行的原因。而且很明显 while 循环 中断的原因。 要检查文件是否打开,您可以将 if(fin.is_open()) 用于 fin,类似地用于 fout,如 if(fout.is_open())