用C语言写一个程序:
1.txt
1 2 3 4 5
1 2
-1 1 0 15
78 9 10
2.txt
-1 1 0 15
1 2 3 4 5
3.txt
1 2 3 4 5
-1 1 0 15
#include <stdio.h>
#include <string.h>
#define N 255
int freadline(FILE *fp,char *A)
{
int i=0;
char c;
do
{
c=fgetc(fp);
if (c==EOF)
{
A[i]='\0';
return EOF;
}
if (c=='\n')
{
A[i]='\0';
return i;
}
A[i++]=c;
}while (1);
}
int main(int argc,char **argv)
{FILE *fp1,*fp2,*fp3;
char a[N],b[N];
char f1[N],f2[N],f3[N];
int status1,status2;
printf("请输入第一个文件名:\n");
gets(f1);
printf("请输入第二个文件名:\n");
gets(f2);
printf("请输入输出文件名:\n");
gets(f3);
fp1=fopen(f1,"rt");
fp3=fopen(f3,"wt");
while(((status1=freadline(fp1,a))!=EOF)|(strlen(a)!=0))
{
printf("a=%s\n",a);
fp2=fopen(f2,"rt");
while ((status2=freadline(fp2,b))!=EOF|(strlen(b)!=0))
{
printf("b=%s\n",b);
if (strcmp(a,b)==0) {printf("找到一个%s\n",a);fputs(a,fp3);fputc('\n',fp3);break;}
if (status2==EOF) break;
}
fclose(fp2);
if (status1==EOF) break;
}
fclose(fp1);fclose(fp3);
getchar();
return (0);
}
本回答被提问者采纳