C++ 文件流,怎样删除文件中的一部分内容?

是一个题库的操作,每个题是一个类结构,我用write以追加的方式加到一个文件(xzt.txt)中的,我想实现删除其中任意一个题。。我想到的一个方法是把原题库的内容一条一条... 是一个题库的操作,每个题是一个类结构,我用write以追加的方式加到一个文件(xzt.txt)中的,我想实现删除其中任意一个题。。我想到的一个方法是把原题库的内容一条一条的读到内存里(用read),每读一条就写(用write)到另一个临时文件(lxzt.txt)中,在读到要删除的题的时候跳过写入步骤。完成后再清空原题库,把lxzt.txt中的内容完全复制到原题库xzt.txt中。。可是实现的不对,达不到效果……帮写个简单的例子吧…… 展开
 我来答
匿名用户
推荐于2018-07-18
展开全部
几年前的代码,自己调一下
#include <iostream>
#include <vector.h>
#include <string.h>
#include <fstream>
using namespace std;int main()
{
string from;
int count = 0;
int hang = 0;
cout<<"文件:";
cin>>from; //取得源文件名
ifstream is(from.c_str()); //输入流
istream_iterator<string>ii(is);
istream_iterator<string> eos;
vector<string>b (ii,eos); //将文件的内容存入容器中
vector<string>::iterator it; //使用迭代器
cout << "输入你想删除的内容:";
string str;
cin >> str; for(it = b.begin() ; it<b.end();it++)
{
if(str == *it)
{
*it = ""; //如果找到要删除的内容,将对应的迭代器内容清空
}
} ofstream wr(from.c_str(),ios::out); for(it=b.begin() ; it<b.end();it++) //重新写回文件
{
wr << *it <<endl;
cout << *it<< endl;
} return 0;
}
sdywtz
2017-07-30 · TA获得超过1440个赞
知道小有建树答主
回答量:934
采纳率:75%
帮助的人:557万
展开全部
看你想要删除的内容具有什么特点。比如删除多少字数,或特定内容等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AlmostLoverLSs
2018-07-16 · TA获得超过3896个赞
知道小有建树答主
回答量:2.2万
采纳率:22%
帮助的人:2242万
展开全部
还没服役
2005年4月11日,印度宣布,印度航母制造工程正式启动。
2009年2月28日,印度海军举行了“维克兰特”号龙骨安装仪式 。
2011年12月29日,印度首艘国产航母“维克兰特”号在科钦船厂出坞下水。
2013年8月12日,“维克兰特”号航母首次正式下水,当时完工仅30%。
2014年年底,“维克兰特”号航母在沉寂了1年后终于有了新的进展,已经开始建造舰岛设施。
2015年5月28日,外形基本成型的“维克兰特”号航母第3次下水,但不利的潮水和船坞出口处的淤泥导致了船坞大门的故障,使得出坞工作被迫延迟。导致推迟服役时间为2025年。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式