详细解释一段C++代码

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:19:29
请详细解释一下下面的代码,无限感谢

void omit()//删除函数
{
int ch;
cout<<"请输入要删除的人员的姓名:"<<endl;
cin>>ch;
ifstream out("population.txt",ios::nocreate);
ofstream in("population1.txt",ios::trunc);
while(out)
{
if(out.read((char*)&pop,sizeof pop))
if(ch!=pop.getsno())
{
in.write((char*)&pop,sizeof pop);
}
}
in.close();
out.close();
ofstream gfile("population.txt",ios::trunc);
gfile.close();
ifstream ifile("population1.txt",ios::nocreate);
ofstream hfile("population.txt",ios::trunc);
while(ifile)
{
if(ifile.read((char*)&pop,sizeof pop))
hfile.write((char *)&pop,sizeof pop);
}
ifile.close();
hfile.close();
}
void output()//输出函数
{
int i=0;
ifstream cfile(&qu

void omit()//删除函数
{
int ch;
cout<<"请输入要删除的人员的姓名:"<<endl;
cin>>ch;
ifstream out("population.txt",ios::nocreate);//打开文件1,读数据
ofstream in("population1.txt",ios::trunc);//打开文件写数据到文件2
while(out)//循环读数据
{
if(out.read((char*)&pop,sizeof pop))//读后存在pop变量里,读pop这么大小
if(ch!=pop.getsno())//如果读出来的数据的pop取sno不等于刚才输入的学号,将这组数据写入文件
{
in.write((char*)&pop,sizeof pop);
}
}
in.close();//关闭文件
out.close();
ofstream gfile("population.txt",ios::trunc);//,这行和下行多余了,就是清空文件1为后面的从文件2导数据到文件1准备
gfile.close();
ifstream ifile("population1.txt",ios::nocreate);//下面是将文件2的内容再弄到文件1上,
ofstream hfile("population.txt",ios::trunc);//这么写没什么意思,不如直接remove()一下,把原来的删除了,把新的改个名
while(ifile)
{
if(ifile.read((char*)&pop,sizeof pop))
hfile.wr