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

#include <stdio.h>
#include <stdlib.h>
//功能: 合并2个源文件的内容,到一个新的文件中
int main(int a,char *argv[]){
	if(a!=4){
		printf("请输入3个文件路径:%s
", 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] = {''};
	int i=0;
	int ch;
	while((ch=fgetc(fp1))!=EOF){
		putchar(ch);
		//过滤空格;回车 tab
		if(ch=='
'||ch==' '||ch=='	'||ch=='
') continue;
		content[i++] = ch;
	}
	fclose(fp1);
	while((ch=fgetc(fp2))!=EOF){
		putchar(ch);
		//过滤空格;回车 tab
		if(ch=='
'||ch==' '||ch=='	'||ch=='
') 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('
');
	fclose(fp3);
	
	
	return 0;
}

  

原文地址:https://www.cnblogs.com/wanglijun/p/8613480.html