怎么用C语言去掉文本文件中的空白行

例如一个文本文件内容如下:1231234//(由空格组成的空白行)12345如何用C语言去掉文本文件中空格组成的空白行。... 例如一个文本文件内容如下:
123
1234
//(由空格组成的空白行)
12345

如何用C语言去掉文本文件中空格组成的空白行。
展开
 我来答
清澈且谦卑灬典范
2010-03-08 · TA获得超过262个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:275万
展开全部
//以下程序好像有点复杂,不过目前我只能想到这个
//基本思想是先建一个临时文件将原文件修改后的内容放入临时文件,再将临时文件内容考回原文件,最后删除临时文件
#include <stdio.h>
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");//删除临时文件
}
L_o_o_n_i_e
2010-03-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5073万
展开全部
去掉文本文件中空格组成的空白行

#include <stdio.h>
void main()
{
FILE *fin, *fout;
int i,n,flag;
char buff[200];

fin = fopen("a.txt","r");
fout = fopen("b.txt","w");
while (fgets(&buff[0],199,fin) !=NULL){
n = strlen(buff);
flag = 0;
if (n>1) for (i=0;i<n-1;i++) if (buff[i] != ' ') flag=1;
if (n!=1 && flag==1) fprintf(fout,"%s",buff);
}
fclose(fin);fclose(fout);
exit(0);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式