void delete_add(Contacts obj){ ofstream outFile; outFile.open("1.dat",ios::binary|ios::app); outFile.write((char*)&obj,sizeof(obj)); outFile.close(); } int del_one(char name[50]){ ifstream inFile; int flag = 0; inFile.open("Contacts.dat",ios::binary); Contacts obj; while(inFile.read((char*)&obj,sizeof(obj))){ if(strcmp(obj.getName(),name) == 0) { flag = 1; cout<<"删除成功:"<<endl; }else{ delete_add(obj); } } if(flag == 0){ cout<<"无此联系人,删除失败!"<<endl; }else{ return 1; } inFile.close(); }添加注释
时间: 2024-03-18 19:46:07 浏览: 94
//定义一个函数,将联系人对象写入文件中
void delete_add(Contacts obj){
ofstream outFile; //定义一个输出文件流对象
outFile.open("1.dat",ios::binary|ios::app); //以二进制和追加的方式打开文件
outFile.write((char*)&obj,sizeof(obj)); //将联系人对象写入文件
outFile.close(); //关闭文件流
}
//定义一个函数,用于删除指定姓名的联系人
int del_one(char name[50]){
ifstream inFile; //定义一个输入文件流对象
int flag = 0; //标记是否找到要删除的联系人
inFile.open("Contacts.dat",ios::binary); //以二进制的方式打开文件
Contacts obj; //定义一个联系人对象
while(inFile.read((char*)&obj,sizeof(obj))){ //循环读取文件中的联系人对象
if(strcmp(obj.getName(),name) == 0) //如果找到了要删除的联系人
{
flag = 1; //将标记设为1,表示找到了
cout<<"删除成功:"<<endl; //输出提示信息
}else{
delete_add(obj); //将不需要删除的联系人对象写入临时文件中
}
}
if(flag == 0){ //如果没有找到要删除的联系人
cout<<"无此联系人,删除失败!"<<endl; //输出提示信息
}else{
return 1; //返回1,表示删除成功
}
inFile.close(); //关闭文件流
}
阅读全文