关于io流的

来源:百度知道 编辑:UC知道 时间:2024/07/07 04:54:39
我现在有一个文件;
里面的信息都是一行一行写入的;
比方说我现在有十行信息;
我现在知道某行的信息是"张三",但不知道是哪行;现在我需要从这行开始删除包括这行在内的连续三行数据;
并且,删除后文件里的数据仍然和之前一样是一行一行连续的;
我应当怎么做?请高手指点并且大概把语句写一下巴,感谢!!
我用的c++ 语言

可以将文件中的内容逐行读入内存中,放在一个char*数组中,然后对数组中的元素进行操作,最后再把数组中的内容重新写入到文件中。
具体语句要看你用什么语言。
用链表做的~~把文件名换成你的文件的路径就行了~~
#include<iostream>
#include<fstream>
using namespace std;
struct list
{
char data[100];
list* next;
};
void main()
{
ifstream fp("文件名");
list *head,*rear,*s;
head=new list();
head->next=NULL;
rear=head;
while(fp.good())
{
s=new list();
rear->next=s;
rear=s;
rear->next=NULL;
fp.getline(rear->data,100);
}
s=head;
while(s->next!=NULL)
{
if(!strcmp(s->next->data,"张三"))
{
if(s->next->next==NULL||s->next->next->next==NULL)
{
s->next=NULL;
break;
}
else
{
s->next=s->next->next->next->next;
break;
}
}
s=s->next;
}
ofstr