关于两文件合并成一个新文件的输出问题
编写一段程序,其功能是将两个文件的内容合并到一个新文件中,并显示合并后的文件,三个文件名随命令行一起输入。这是我写的程序,合并后只能输出第一个文件的内容,新文件中第一个文件和第二个文件已经合并。各个位大大帮忙指点下:
#include "stdio.h"
#include "stdlib.h"
void main(int argc,char *argv[])
{
if(argc!=4)
{
printf("the number of arguments not correct\n");
printf("\n usage :filename file1 file2 file3");
exit(0);
}
FILE *fp1,*fp2,*fp3,*fp4;
char ch;
fp1=fopen(argv[1],"r");
fp2=fopen(argv[2],"r");
fp3=fopen(argv[3],"r+");
if(fp1==NULL)
{
printf("can not open file1\n");
exit(0);
}
if(fp2==NULL)
{
printf("can not open file2\n");
exit(0);
}
if(fp3==NULL)
{
printf("can not open file3\n");
exit(0);
}
for(;(!feof(fp1));)
fputc(fgetc(fp1),fp3);
fclose(fp1);
for(;(!feof(fp2));)
fputc(fgetc(fp2),fp3);
fclose(fp2);
fclose(fp3);
fp4=fopen(argv[3],"r");
if(fp4==NULL)
{
printf("can not open file3\n");
exit(0);
}
for(;(ch=fgetc(fp4))!=EOF;)
putchar(ch);
fclose(fp4);
}