[文本处理] txt文档行长度相等

本文档主要介绍如何处理txt格式的数据,针对下载后出现的行长度不一致问题,进行行长度调整,确保每行文本长度相等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文本处理,下载的txt文档每行长短不一。


#include<stdio.h>
#include"stdlib.h"

void Merge_Line(char line[]);

char merged[5120];//20行整合一行
char pu[2]={10,0};
int j=3;

inline char symbol(int j){
	return	(merged[j] == -84 && merged[j-1] == -93) || (merged[j] >= -93 && merged[j-1] <= -95);
}
char As_num(char line){
	return line>=48 && line<=57;
}

int main()
{
//	char StrLine[256];//每行限制中文128个,英文字母256个
	char StrLine[1024];//每行限制中文512个,英文字母1024个
	char pu[2]={10,0};
	int i;
	FILE *in,*out;

	in = fopen("C:\\Temp\\lark\\78.txt","r");
//	in = fopen("C:\\Temp\\lark\\line_ansi.txt","r");
	out = fopen("C:\\Temp\\lark\\560.txt","w");

	while(!feof(in)){	//fread fwrite 和 getw putw什么区别?
		fgets(StrLine,1024,in);
		//-----------//所有行先放merged再fputs,空行除外//删除空行
		if((merged[j-3] < 0 || symbol(j-3) ) && StrLine[0] < 0){
			i=0;j=j-2;
			do{merged[j++] = StrLine[i];}while(StrLine[i++] != 0);
		}
		else{
			fputs(merged,out);
			if((StrLine[0]==10 && StrLine[1]==0) || //只有回车,删除此行
				(StrLine[0]==32 && StrLine[1]==10 && StrLine[2]==0)||//空格+回车
				(StrLine[0]==32 && StrLine[1]==32 && StrLine[5]==10 && StrLine[6]==0)){//页码
				j=3;merged[0]=0;
			}
			else{
				j=0;
				do{merged[j] = StrLine[j];}while(StrLine[j++] != 0);//j在merged[0+1]位
			}
		}
		//-----------
	}
	fputs(merged,out);//最后一行

	fclose(in);
	fclose(out);
	/
	in = fopen("C:\\Temp\\lark\\560.txt","r");
	out = fopen("C:\\Temp\\lark\\780.txt","w");

	while(!feof(in)){	//fread fwrite 和 getw putw什么区别?
		fgets(StrLine,1024,in);
		
		if(As_num(StrLine[0]) && StrLine[1]==46 && As_num(StrLine[2]))
			fputs(pu,out);
		else if(As_num(StrLine[0]) && As_num(StrLine[1]) && StrLine[2]==46 && As_num(StrLine[3]))
			fputs(pu,out);

		fputs(StrLine,out);
	}
	///

	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值