EgtGeneral 1.4l3 : Miglioria a confronto file di testo (tenta di sincronizzarsi con una linea di offset dopo una differenza).

This commit is contained in:
Dario Sassi
2013-12-28 18:52:17 +00:00
parent 2f2671b40d
commit 9cf4d2275d
2 changed files with 26 additions and 2 deletions
+26 -2
View File
@@ -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