我正在项目的删除部分从事电话簿项目,我遇到了问题;这是我的删除部分代码:
void pbook::del(){
cout<<"Enter Id(Be sure to Enter with #) or a full info of a Contact to Delete:"<<endl;
string ds,line,deltemp;
cin>>ds;
ifstream pb("pb.gh");
while(getline(pb,line)){
if (line.find(ds) != string::npos) {
deltemp=line;
continue;
}
else{
fstream pbtemp("pbtemp.gh",ios::app);
pbtemp<<line<<endl;
}
}
cout<<deltemp<<" was successfully deleted !";
}
我尝试删除除删除的一个以外的所有联系人后删除一般的电话簿文件到bptemp.gh但是remove("pb.gh")
没有做任何事情!而且我认为将ifstream pb("pb.gh");
更改为fstream pb("pb.gh");
会有所帮助,但在此之后#34; pbtemp.gh&#34;不会生成!
请帮我删除&#34; pb.gh&#34;并重命名&#34; pbtemp.gh&#34;到&#34; pb.gh&#34;。
此致
答案 0 :(得分:0)
首先,删除(const char *)返回错误代码。检查它,你会知道发生了什么。其次,为什么不使用c ++库而不是c函数?看看文件系统库(自c ++ 17起)