C++如何删除一个TXT文本中某一行的内容

 我来答
yzzc1989
2012-08-29 · 超过62用户采纳过TA的回答
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:158万
展开全部
fstream in;
in.open("issue.dat",ios_base::in|ios_base::binary);
if(!in)
{ cout<<"打开失败";return;}
fstream temp;
temp.open("temp.dat",ios_base::out|ios_base::binary);
Issue issue;
in.read((char*)&issue,sizeof(issue));
while(!in.eof()) //将文件内容修改后临时寸到另一个文件中
{
if(issue.IssueCode==IssueCode&&issue.IssueNum<IssueNum)
{
in.read((char*)&issue,sizeof(issue));//遇到过期的期刊,则不写入临时文件,
Num++;
continue; //直接读取下一个数据
}
temp.write((char*)&issue,sizeof(issue));
in.read((char*)&issue,sizeof(issue));
}
in.close();
temp.close(); //修改完成,将原文件清空,并将临时文件内容复制回原文件

temp.open("temp.dat",ios_base::in|ios_base::binary);
if(!temp)
{ cout<<"打开失败";return;}
ofstream out;
out.open("issue.dat",ios_base::out|ios_base::binary);
temp.read((char*)&issue,sizeof(issue));
while(!temp.eof()) //将文件内容修改后临时寸到另一个文件中
{
out.write((char*)&issue,sizeof(issue));
temp.read((char*)&issue,sizeof(issue));
}//完成复制
out.close();
temp.close();
305508676
2012-08-29 · TA获得超过649个赞
知道小有建树答主
回答量:627
采纳率:50%
帮助的人:601万
展开全部
没有简单的方法:
只能全部读出来,删除某一行,然后写到另外的文件中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
执著的小松鼠
2012-08-29 · TA获得超过1616个赞
知道小有建树答主
回答量:900
采纳率:100%
帮助的人:450万
展开全部
打开直接删
退出时提示是否保存点否
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenfeng1971
2012-08-29 · TA获得超过5072个赞
知道小有建树答主
回答量:1154
采纳率:54%
帮助的人:601万
展开全部
如果此类操作非常多,分析下,尽量使用数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式