编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!拜托了各位 谢
展开全部
#include <stdio.h> #include <string.h> #define MA 255 int icmp(const char *a,const char *b) { int i; for (i = 0; a[i]&&b[i]; i++) { if (a[i]!=b[i]) { break; } } return i+1; } int main(void) { FILE *fp1,*fp2; int n=0,fg=0; char c1[MA],c2[MA]; fp1=fopen("c:\\a.txt","r"); /*第一个文件*/ fp2=fopen("c:\\b.txt","r"); /*第二个文件*/ while (!feof(fp1)&&!feof(fp2)) { fgets(c1,MA,fp1); fgets(c2,MA,fp2); ++n; if (strcmp(c1,c2)) { printf("第%d行第%d个字符不相同\n",n,icmp(c1,c2)); fg=1; } fflush(fp1); fflush(fp2); } if (!fg) { printf("两个文件相同"); } else if (!feof(fp1)||!feof(fp2)) { printf("第%d行不相同",n); } fclose(fp1); fclose(fp2); return 0; }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询