folder Tahribat.com Forumları
linefolder C - C++
linefolder İki Dosyayı Bayt Bayt Karşılaştırma



İki Dosyayı Bayt Bayt Karşılaştırma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilmece
    bilmece's avatar
    Kayıt Tarihi: 29/Aralık/2009
    Erkek

    int main(int argc, char **argv)
    {
        FILE *fp1,*fp2;
        unsigned size1=0,size2=0;
        char *Dosya1Veri,*Dosya2Veri,esitlik=1;
        if((fp1=fopen("dosya1","rb")) !=NULL)
          {
           fseek(fp1,0,SEEK_END);
           size1=ftell(fp1);
           Dosya1Veri=(char *)malloc(size1);
           rewind(fp1);
           fread(Dosya1Veri,1,size1,fp1);
           fclose(fp1);
          }
          else
           printf("dosya1 bulunamadi\n");

         if((fp2=fopen("dosya2","rb")) !=NULL)
          {
           fseek(fp2,0,SEEK_END);
           size2=ftell(fp2);
           Dosya2Veri=(char *)malloc(size2);
           rewind(fp2);
           fread(Dosya2Veri,1,size2,fp2);
           fclose(fp2);
          }
          else
           printf("dosya2 bulunamadi\n");

          if(size1 != size2)
             esitlik=0;


          while(size1)
             {
               if(Dosya1Veri[size1-1] != Dosya2Veri[size1-1])
                  esitlik=0;
                else
                 --size1;
             }
          printf("%s",esitlik ? "esit" : "esit degil");
         

    free(Dosya1Veri);

    free(Dosya2Veri);

    getchar();
     return 0;
    }

    aLman a kapak olsun MD5 kesmiyormuş kendisini.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    XpertVision
    XpertVision's avatar
    Kayıt Tarihi: 09/Ağustos/2008
    Erkek

    @1 adam kızmış beyler

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    bilmece
    bilmece's avatar
    Kayıt Tarihi: 29/Aralık/2009
    Erkek

    XpertVision bunu yazdı:
    -----------------------------

    @1 adam kızmış beyler


    -----------------------------
    yok be hacı o an aklıma gelmedi takıldık bi md5 e ,hem belki lazım olur birilerine unutmuşum while a size lerin hangisi küçükse onu koymak daha güvenli olur.

    edit :

    int i=0;

    if(size1 != size2)

    {
     esitlik=0;
     if(size1 > size2)
       i=size2;
     else
       i=size1;
    }

    while(i)
     {
      if(Dosya1Veri[i-1] != Dosya2Veri[i-1])
       {
        esitlik=0;
        break;
       }
       else
      --i;
    }

     

Toplam Hit: 1349 Toplam Mesaj: 3