|
发表于 2009-10-31 01:17:48
|
显示全部楼层
IP:江苏扬州
#include<stdio.h> #include<stdlib.h> void main() { FILE *fp1,*fp2; char ch1,ch2; char argv[2]; int argc; int n=0,differ=0; if(argc!=3) { printf("命令行参数个数错误!\n"); exit(1); } if((fp1=fopen("fp1","r"))==NULL) { printf("不能打开第一个文件!\n"); exit(1); } if((fp2=fopen("fp2","r"))==NULL) { printf("不能打开第二个文件!\n"); exit(1); } while((ch1=fgetc(fp1))!=EOF&&(ch2=fgetc(fp2))!=EOF) { n++; if(ch1!=ch2) {differ++; printf("第%d处\t位置%d\t%s:%c\t%s:%c\n",differ,n,argv[1],ch1,argv[2],ch2); } } if(ch1==EOF) { differ++; n++; printf("第%d处\t位置%d\t%s:",differ,n,argv[2]); while((ch2=fgetc(fp2))!=EOF) { putchar(ch2); } }
else { differ++; n++; printf("第%d处\t位置%d\t%s:",differ,n,argv[1]); while((ch1=fgetc(fp1))!=EOF) { putchar(ch1); } } printf("\n\n两个文件共有%d处不同\n",differ); fclose(fp1); fclose(fp2); } |
|