Hoi !
Was mich noch interessieren würde, wann verwendet man fopen()... und wann opendir(), readdir()...?
Ich verstehe irgendwie nicht ganz den Unterschied?! Dachte immer mit fopen() öffnet man die Datei, aber warum sollte man das? Es reichen doch Name und Größe zu wisssen und entsprechend zu löschen oder zu kopieren oder wie auch immer! fopen() sollte dagegen doch recht langsam sein, wenn erst alle Dateien geöffnet werden, oder denke ich hier irgendwie falsch?
Es kann Dir durchaus passieren, daß Du zwei oder noch mehr Dateien mit identischer Größe aber total unterschiedlichem Inhalt hast. Wenn Du nur die Größen vergleichst, dann löscht Du mit Sicherheit eine der Dateien (trotzdem sie von der übriggebliebenen verschieden ist).
Henryk benutzt deshalb für seine Lösung den MD5-Wert (eine Art Quersumme) der Datei: Damit kannst Du ziemlich sicher (99,9999999999999999999(usw.)%) alle doppelten Dateien entfernen, und jeweils ein Exemplar behalten, egal, ob sie die gleiche Größe haben oder nicht.
Dafür ist die Lösung von Henryk in der Tat _wesentlich_ langsamer.
Ciao,
Harry