满意答案
spileosman
推荐于 2018.05.09
采纳率:46% 等级:12
已帮助:18141人
//以下程序好像有点复杂,不过目前我只能想到这个
//基本思想是先建一个临时文件将原文件修改后的内容放入临时文件,再将临时文件内容考回原文件,最后删除临时文件
#include
int main()
{
FILE *fpi,*fpo;
char A[100];
fpi=fopen("in","r");//待修改的文件
fpo=fopen("bc.txt","a+");//临时文件
while(fgets(A,100,fpi))//将删除空行后的内容暂时存在bc.txt中
{
if(A[0]=='\n'||A[0]=='\r')
continue;
else
fputs(A,fpo);
}
fpi=fopen("in","w");//重新打开abc.txt,并删除其原先内容w表示如果abc.txt存在,则删除其内容
rewind(fpo);//重新定位临时文件,并将文件指针定位到文件头部,准备读
while(fgets(A,100,fpo))
{
fputs(A,fpi);//将bc.txt的文件读到abc中
}
fclose(fpi);//关闭文件指针
fclose(fpo);
remove("bc.txt");//删除临时文件
}
10分享举报