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.
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.
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"?
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
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]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden