您好我正在开展一个项目,我有学生,他们的姓名姓氏和所有内容,我想通过名字选择学生,并删除关于学生的全部信息,以及案例3:我的代码:`
case 3:{
int fNomer;
string ime;
string prezime;
string familiq;
string fakyltet;
string specialnost;
int grypa;
int kyrs;
string stud;
cout << "Stydenta koito iskate da iztriete";
cin >> stud;
ifstream file;
ofstream outfile;
file.open("Student.txt");
outfile.open("newM.txt");
while (getline(file, line))
{
if (line == deleteMovie){}
else { outfile << line << endl; }
}
outfile.close();
file.close();
outfile.close();
file.close();
remove("Students.txt");
rename("newM.txt", "Students.txt");
break;
}
答案 0 :(得分:0)
问题在于:
while (getline(file, line))
{
if (line == deleteMovie){}
else { outfile << line << endl; }
}
首先我们正确格式化这段代码:
while (getline(file, line))
{
if (line == deleteMovie)
{
}
else
{
outfile << line << endl;
}
}
现在我们可以看到(我们之前已经可以看到)你正在检查错误的变量deleteMovie
而不是stud
:
if (line == deleteMovie)
应该是
if (line == stud)
您仍然需要添加错误检查,例如处理无法打开文件的情况。