求代码 用C++控制台 写判断两个文档是否一样,不一样,进行覆盖。

求代码 用C++控制台 写判断两个文档是否一样,不一样,进行覆盖。 要求打开文件后,在内存中比较 ,谢谢大神

提供个思路,随便搜一搜就能解决的,计算文档的md5,如果完全一致,那就一样,不一致,直接覆盖好了

 #include <stdio.h>
#include <stdlib.h>
void main()
{
    FILE *fp1,*fp2;
    char fn1[]="t1.txt",fn2[]="t2.txt";

    if((fp1=fopen(fn1,"rb"))==NULL)
    {
        printf("文件%s无法打开\n",fn1);
        return;
    }
    if((fp2=fopen(fn2,"rb"))==NULL)
    {
        printf("文件%s无法打开\n",fn2);
        return;
    }

    int l1,l2;
    int flag=0;
    fseek(fp1,0,2);
    l1=ftell(fp1);
    fseek(fp2,0,2);
    l2=ftell(fp2);
    if(l1!=l2)
    {
        printf("文件长度不等!\n");
        return;
    }

    rewind(fp1);
    rewind(fp2);
    while(!feof(fp1))
    {
        if(fgetc(fp1)!=fgetc(fp2))
        {
            flag=1;
            break;
        }
    }
    if(flag==0) printf("文件相同\n");
    else
    {
        printf("文件不同,文件%s覆盖文件%s\n",fn1,fn2);
        rewind(fp1);
        fclose(fp2);
        fp2=fopen(fn2,"wb");
        while(!feof(fp1))
            fputc(fgetc(fp1),fp2);
    }
    fclose(fp1);
    fclose(fp2);
}