c++怎样删除txt文件中的一行呢?
我有个文件:001xxxxxxxxx002xxxxxxxxx003xxxxxxxxx要删除002那一行要怎么操作呢?谢~...
我有个文件:
001 xxx xxx xxx
002 xxx xxx xxx
003 xxx xxx xxx
要删除002那一行要怎么操作呢?
谢~ 展开
001 xxx xxx xxx
002 xxx xxx xxx
003 xxx xxx xxx
要删除002那一行要怎么操作呢?
谢~ 展开
2个回答
展开全部
给个思路吧,也许会有更好的思路。一般的删除操作都是
1,先选中要删除的那行
2,删掉选中的行
3,所有在被删行之下的行向“上”移动
例子
#include <stdio.h>
void main()
{
int i = 0, n;
char buf[128];
FILE *fp, *fpt;
scanf("%d", &n); //n为要删掉的那一行
fp = fopen("C:\\1.txt", "r"); //1.txt里是原内容
fpt = fopen("C:\\2.txt", "w"); //2.txt里是删掉第n行的内容
while(!feof(fp))
{
i++;
if (i==n) //删掉第n行
fgets(buf, 128, fp);
else
fputs(fgets(buf, 128, fp), fpt);
}
fclose(fp);
fclose(fpt);
}
1,先选中要删除的那行
2,删掉选中的行
3,所有在被删行之下的行向“上”移动
例子
#include <stdio.h>
void main()
{
int i = 0, n;
char buf[128];
FILE *fp, *fpt;
scanf("%d", &n); //n为要删掉的那一行
fp = fopen("C:\\1.txt", "r"); //1.txt里是原内容
fpt = fopen("C:\\2.txt", "w"); //2.txt里是删掉第n行的内容
while(!feof(fp))
{
i++;
if (i==n) //删掉第n行
fgets(buf, 128, fp);
else
fputs(fgets(buf, 128, fp), fpt);
}
fclose(fp);
fclose(fpt);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询