永发信息网

用C写一段删除多余空行的程序

答案:1  悬赏:20  手机版
解决时间 2021-04-24 04:38
一个文档中,是英文和符号组成的,怎样实现删除文档中的空行,来节省空间
最佳答案
给你个参考,file输出你自己看着改一下吧#include <stdio.h>
#include <stdlib.h>
#include <string.h>void main()
{
FILE* fp = fopen("test.cpp", "r");
if(NULL == fp)
{
return;
}
fseek(fp, 0L, SEEK_SET);
char char_line[1024] = {0}; int totoalline = 0;
printf("\n");
while(1)
{
fgets(char_line, 1024, fp);
int size = strlen(char_line);
if(0 >= size)
{
break;
}
printf("%s", char_line);
memset(char_line, 0, 1024);
totoalline++;
}
printf("\n", totoalline); fseek(fp, 0L, SEEK_SET);
totoalline = 0;
FILE* fp_to = fopen("result.cpp", "w");
printf("\n\n\n");
while(1)
{
fgets(char_line, 1024, fp);
int size = strlen(char_line);
if(0 >= size)
{
break;
}
int i;
for(i=0; i<size-1; i++)
{
if('/' == char_line[i] && '/' == char_line[i+1])
{
break;
}
}
if(0 != i)
{
bool flag_tab = 0;
for(int j=0; j<i; j++)
{
if('\t' != char_line[j] && ' ' != char_line[j])
{
flag_tab = true;
break;
}
}
if(flag_tab)
{
char* ret = (char*)malloc(sizeof(char)*(i+1));
ret[i] = 0;
memcpy(ret, char_line, i);
printf("%s\n", ret);
//写入到新文件
fwrite(ret, sizeof(char), i, fp_to);
fwrite("\r\n", sizeof(char), 2, fp_to);
free(ret);
totoalline++;
}
}
memset(char_line, 0, 1024);
}
printf("\n", totoalline);
printf("详情查看resutl.cpp\n");
fclose(fp);
fclose(fp_to);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
搞笑祝贺词,搞笑幽默生日祝福语
介绍有关地质和建筑方面的学校
有上网不知做什么的吗
我是一个初中生,现在20岁了,在广东打工,我
朋友手机被偷
谁是NBA最年轻的高中生得分王?
爱为什么那么伤?为什么我们还要那么执着追求
每个人都不完美的句子,形容一个人在一个人心
塔罗牌占卜方法
在吞咽的时候喉结位置的食道疼痛,非进食时也
传奇SF架设教程里面mirserver改IP谁有具体方
慌张步态的表现,慌张步态怎么诊断
诛仙5173我想用RMB买游戏币,是怎么交易的
wow为什么我一用宏就没有声音效果啊
在邮局可以问到一套邮票的价格吗?还有金币是
推荐资讯
20级狂战具体加点?
长脸型适合剪平刘海吗
怎样删除QQ默认的组
当人类变成骆驼,世界将会变成什么样呢?
世界上最有名的公共厕所再哪里?
贾旭明张康师傅是谁
子禹村在哪里啊,我有事要去这个地方
张杰是用人声作伴奏第一人吗?
谁有世界著名DJ舞曲的网站
网络游戏“传奇世界”问题!
三国 得陇望蜀什么时候开放?
我的三国怎么了?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?