diff --git a/EgtGeneral.rc b/EgtGeneral.rc index 93ae71e..087cc7b 100644 Binary files a/EgtGeneral.rc and b/EgtGeneral.rc differ diff --git a/FileCompare.cpp b/FileCompare.cpp index 1710c1d..5040704 100644 --- a/FileCompare.cpp +++ b/FileCompare.cpp @@ -1,13 +1,14 @@ //---------------------------------------------------------------------------- // EgalTech 2013-2014 //---------------------------------------------------------------------------- -// File : FileCompare.cpp Data : 06.03.14 Versione : 1.5c1 +// File : FileCompare.cpp Data : 27.04.14 Versione : 1.5d5 // Contenuto : Funzioni per confronto tra due file (di testo). // // // // Modifiche : 11.12.13 DS Creazione modulo. // 06.03.14 DS Possibilità di ri-sincronizzarsi dopo due linee. +// 27.04.14 DS Nel confronto binario ci si arresta alla 10^ differenza. // //---------------------------------------------------------------------------- @@ -183,7 +184,7 @@ BinaryFileCompare( const string& sFile1, const string& sFile2, const string& sFi // ciclo sui buffer dei due file int nDiff = 0 ; - const int DIM_BUFF = 512 ; + const int DIM_BUFF = 8192 ; char cBuff1[DIM_BUFF] ; char cBuff2[DIM_BUFF] ; ifIn1.read( cBuff1, DIM_BUFF) ; @@ -191,14 +192,16 @@ BinaryFileCompare( const string& sFile1, const string& sFile2, const string& sFi ifIn2.read( cBuff2, DIM_BUFF) ; int nBuff2 = int( ifIn2.gcount()) ; int nBase = 0 ; - while ( nBuff1 > 0 && nBuff2 > 0) { + while ( nBuff1 > 0 && nBuff2 > 0 && nDiff < 10) { // confronto dei blocchi for ( int i = 0 ; i < nBuff1 && i < nBuff2 ; ++i) { if ( cBuff1[i] != cBuff2[i]) { nDiff ++ ; - // emetto differenze - ofOut << " F1(" << ( nBase + i) << "):" << CharToHexString( cBuff1[i]) << endl ; - ofOut << " F2(" << ( nBase + i) << "):" << CharToHexString( cBuff2[i]) << endl ; + // emetto prime 10 differenze + if ( nDiff <= 10) { + ofOut << " F1(" << ( nBase + i) << "):" << CharToHexString( cBuff1[i]) << endl ; + ofOut << " F2(" << ( nBase + i) << "):" << CharToHexString( cBuff2[i]) << endl ; + } } } @@ -213,8 +216,10 @@ BinaryFileCompare( const string& sFile1, const string& sFile2, const string& sFi // emetto riassunto differenze if ( nDiff == 0) ofOut << " Same content" << endl ; - else + else if ( nDiff <= 10) ofOut << " Found " << nDiff << " differences !!!" << endl ; + else + ofOut << " Found a lot of differences ( > 10) !!!" << endl ; // chiudo i file ofOut.close() ;