sid1900 Geschrieben 12. November 2003 Geschrieben 12. November 2003 Hallo, ich möchte den Inhalt von zwei Dateien miteinander vergleichen, wie geht das? Ich hab versucht die beiden Dateien auf zwei Strings zu übergeben und danach die String's (==) zu vergleichen. Das Ergebnis: string ist nicht gleich string2 --> es werden die beiden Wörter verglichen und nicht wie ich dachte der ausgelesene Inhalt. Zitieren
Guybrush Threepwood Geschrieben 12. November 2003 Geschrieben 12. November 2003 Am einfachsten ist es wenn du die beiden Dateien zeichenweise ausliest und die beiden Zeichen direkt miteinander vergleichst. Zitieren
Klotzkopp Geschrieben 12. November 2003 Geschrieben 12. November 2003 Was ist denn das gewünschte Ergebnis des Vergleichs? Einfach nur die Aussage "gleich" oder "nicht gleich"? Zitieren
nic_power Geschrieben 12. November 2003 Geschrieben 12. November 2003 Hallo, vergleichst Du in C strings (char *), dann bezieht sich der Vergleich auf die Pointer, nicht auf den "Inhalt", also den eigentlich string. Diese kannst Du mit der Funktion "strcmp()" vergleichen. Alternativ kannst Du auch - wie oben vorgeschlagen - Byteweise einlesen und diese Vergleichen (ist aber unter Umständen ziemlich ineffizient). Wie Du vergleichst hängt auch davon ab, was Du für ein Ergebnis erwartest. Geht es nur um die generelle Aussage "gleich" oder "ungleich" gibt es unter Umständen auch noch andere Möglichkeiten, bzw. Optimierungsmaßnahmen (beispielsweise erstmal die Länge der Dateien vergleichen). Nic Zitieren
Knuddlbaer Geschrieben 15. November 2003 Geschrieben 15. November 2003 2 Files vergleichen ? Wenns darum geht ob byte für byte identisch ist: #include <iostream> #include <iterator> #include <fstream> using namespace std; int main() { fstream datei1("t:\\test1.txt",ios::binary|ios::in); fstream datei2("t:\\test2.txt",ios::binary|ios::in); istreambuf_iterator<char> begin1(datei1); istreambuf_iterator<char> begin2(datei2); istreambuf_iterator<char> ende; cout<<equal(begin1,ende,begin2); } [/PHP] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.