diff --git a/EgtGeneral.rc b/EgtGeneral.rc index 3073932..856fb35 100644 Binary files a/EgtGeneral.rc and b/EgtGeneral.rc differ diff --git a/FileCompare.cpp b/FileCompare.cpp index 09554ca..811e0c0 100644 --- a/FileCompare.cpp +++ b/FileCompare.cpp @@ -28,6 +28,8 @@ TextFileCompare( const string& sFile1, const string& sFile2, const string& sRemI int nDiff ; string sLine1 ; string sLine2 ; + string sLine1S ; + string sLine2S ; ofstream ofOut ; Scanner scFile1 ; Scanner scFile2 ; @@ -67,10 +69,32 @@ TextFileCompare( const string& sFile1, const string& sFile2, const string& sRemI ofOut << " Diff :" << endl ; ofOut << " F1(" << scFile1.GetCurrLineNbr() << "):" << sLine1 << endl ; ofOut << " F2(" << scFile2.GetCurrLineNbr() << "):" << sLine2 << endl ; + // provo a caricare le linee successive + bOk1 = scFile1.GetLine( sLine1S) ; + bOk2 = scFile2.GetLine( sLine2S) ; + // se la 1 corrente coincide con la 2 successiva + if ( sLine1.compare( sLine2S) == 0) { + // mi porto avanti con il file 2 + sLine1 = sLine1S ; + bOk2 = scFile2.GetLine( sLine2) ; + } + // se la 2 corrente coincide con la 1 successiva + else if ( sLine2.compare( sLine1S) == 0) { + // mi porto avanti con il file 1 + bOk1 = scFile1.GetLine( sLine1) ; + sLine2 = sLine2S ; + } + // altrimenti, continuo in sincronismo + else { + sLine1 = sLine1S ; + sLine2 = sLine2S ; + } } // passo alle linee successive - bOk1 = scFile1.GetLine( sLine1) ; - bOk2 = scFile2.GetLine( sLine2) ; + else { + bOk1 = scFile1.GetLine( sLine1) ; + bOk2 = scFile2.GetLine( sLine2) ; + } } // emetto riassunto differenze