Dateien vergleichen in Verzeichnissen (nach Größe)
-
Guten Abend
ich hätte eine Frage bezüglich dem durchsuchen von Verzeichnissen
wie kann ich jetzt in einem Verzeichnis, Dateien nach ihrer Größe vergleichen und somit ermitteln ob sie evtl. die gleichen sind?
mfg Alex
-
Mit reinem ANSI C wird das nix. Du musst betriebssystemspezifische Funktionen verwenden.
-
Nur die Größe vergleichen reicht nicht, um mit guter Sicherheit anzunehmen, daß zwei Dateien gleich sind. Da müßte man noch den Inhalt vergleichen, oder zumindest irgendwelche Kennzahlen/Prüfsummen des Inhalts.
Mit ANSI-Mittlen kannst du btw auch keine Auflistung der Dateien in einem Verzeichnis holen -- das mußt du mit den Mitteln deines Betriebsystems machen.
Wenn du aber einmal die beiden betreffenden Dateien geöffnet hast, kannst du ganz einfach mit ANSI-Mitteln Byte für Byte vergleichen, und wenn das bis ans Ende gut geht, sind die beiden sicher gleich.
-
also muss es irgendwelche funktionen unter linux geben die ich verwenden kann?
alleine mit open, read und closedir komm ich da wohl auch nicht weiter
-
AlexTJ schrieb:
alleine mit open, read und closedir komm ich da wohl auch nicht weiter
Schon, aber das ist ein Haufen Arbeit, den eben SystemCalls/APIs fixfertig bereitstellen. Dazu sind Betriebssysteme ja da.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
und rekursive Suche in Verzeichnissen
müsste sich schon irgendwie programmieren lassen oder??
-
Was genau willst Du denn machen? Es gibt fertige Tools um Duplikate von Dateien zu finden.
Wenn Du einfach nur wissen möchtest, wie man mit Dateien hantiert, um ein wenig Übung zu bekommen, schau Dir einfach boost::filesystem an:
http://www.boost.org/doc/libs/1_39_0/libs/filesystem/doc/index.htm
-
Ein Programm schreiben das ab einem vorgegebenen Startverzeichnis einliest und prüft ob in einem Verzeichnissen bestimmte Dateien doppelt vorkommen
in C
-
Dafür gibt es fdupes.
-
-