利用fgetc合并2个源文件的内容,到一个新的文件中

本文介绍了一个使用C语言编写的程序,该程序可以将两个源文件的内容合并到一个新的目标文件中。程序通过命令行参数接收三个文件路径,并读取前两个文件的内容,在过滤掉空格、回车等特殊字符后,将有效字符写入第三个文件。

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

#include <stdio.h>
#include <stdlib.h>
//功能: 合并2个源文件的内容,到一个新的文件中
int main(int a,char *argv[]){
	if(a!=4){
		printf("请输入3个文件路径:%s\n", argv[0]);
		exit(1);
	}
	FILE *fp1,*fp2,*fp3;
	fp1 = fopen(argv[1],"r");
	if(fp1==NULL){
	     printf("source file1 open error");
	     exit(1);
	}
	
	fp2 = fopen(argv[2],"r");
	if(fp1==NULL){
	     printf("source file2 open error");
	     exit(1);
	}	
	
	fp3 = fopen(argv[3],"w");
	if(fp1==NULL){
	     printf("target file3 open error");
	     exit(1);
	}
	
	//然后开始复制
	char content[100] = {'\0'};
	int i=0;
	int ch;
	while((ch=fgetc(fp1))!=EOF){
		putchar(ch);
		//过滤空格;回车 tab
		if(ch=='\n'||ch==' '||ch=='\t'||ch=='\r') continue;
		content[i++] = ch;
	}
	fclose(fp1);
	while((ch=fgetc(fp2))!=EOF){
		putchar(ch);
		//过滤空格;回车 tab
		if(ch=='\n'||ch==' '||ch=='\t'||ch=='\r') continue;
		content[i++] = ch;
	}
	fclose(fp2);
	//开始复制
	int n = i;
	for(i=0;i<n;i++){
		putchar(content[i]);
		fputc(content[i],fp3);//利用fputc写字符函数循环写入到fp3指针指向的文件
	}
	putchar('\n');
	fclose(fp3);
	
	
	return 0;
}

  

转载于:https://www.cnblogs.com/wanglijun/p/8613480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值