比较两个文本文件内容是否相等

生活 2019-02-16 22:41:45 186

本文收集整理关于比较两个文本文件内容是否相等的相关议题,使用内容导航快速到达。

内容导航:

  • Q1:如何编程比较两个文本文件的内容是否完全相同
  • Q2:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!
  • Q3:比较两个文本文件是否相同 并输出两个文件内容首次出现不同的行号和字符位置
  • Q4:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!拜托了各位 谢
  • Q1:如何编程比较两个文本文件的内容是否完全相同

    //test.cpp:Definestheentrypointfortheconsoleapplication.
    //
    #include"stdafx.h"
    #include
    #defineREAD_BUFFER_SZ(1*1024)
    intmain(intargc,char*argv[])
    {
    FILE*file1=fopen(argv[1],"rb");
    FILE*file2=fopen(argv[2],"rb");
    unsignedcharbuf1[READ_BUFFER_SZ];
    unsignedcharbuf2[READ_BUFFER_SZ];
    intreadbyte1=0;
    intreadbyte2=0;
    intdiff=0;
    while(1){
    readbyte1=fread(buf1,sizeof(char),READ_BUFFER_SZ,file1);
    readbyte2=fread(buf2,sizeof(char),READ_BUFFER_SZ,file2);
    if(readbyte1>0&&readbyte2>0){
    if(memcmp(buf1,buf2,READ_BUFFER_SZ)){
    diff=1;
    break;
    }else{
    continue;
    }
    }elseif(readbyte1==0&&readbyte2==0){
    break;
    }else{
    diff=1;
    break;
    }
    }
    fclose(file1);
    fclose(file2);
    if(diff){
    printf("%sand%sisdiff\n",argv[1],argv[2]);
    }else{
    printf("%sand%sissame\n",argv[1],argv[2]);
    }
    return0;
    }

    Q2:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!

    #include
    #include
    #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;
    }

    Q3:比较两个文本文件是否相同 并输出两个文件内容首次出现不同的行号和字符位置

    //---------------------------------------------------------------------------
    #include
    #include
    #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;
    }
    //---------------------------------------------------------------------------

    Q4:编写程序,比较两个文本文件内容是否相同,并输出文件中第一次出现不同字符的行号和列值!拜托了各位 谢

    #include #include #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; }

    相关文章
    比较环保的家具哪里买2019-02-07
    word如何比较两个文档2019-02-21
    java比较两个字符串大小2019-02-24
    比较两列数据是否重复2019-03-25
    比较热门有趣的社交软件2019-05-09
    迷你世界我的世界比较2019-05-20
    我的世界红石比较器怎么用2019-06-16
    集成灶的优缺点比较2019-07-04
    比较分数大小的方法有哪些2019-07-13
    小度智能音箱与小度在家比较2019-07-18