Verzeichnisgröße ermitteln C++

Antworten
Nachricht
Autor
himero
Beiträge: 8
Registriert: 10. Okt 2006 12:56

Verzeichnisgröße ermitteln C++

#1 Beitrag von himero » 16. Okt 2006 14:10

Hallo!

Brauch eure Hilfe bei folgendem Problem: Ich will ein C/C++ Programm unter Linux schreiben, dass mir die Größe eines angegebenen Ordners/Verzeichnis anzeigt. Mit stat kann ich mir ja leider nur die Größe einzelner Files ermitteln lassen. Hat jemand eine Idee, wie ich das realisieren kann?

Vielen Dank

klopskuchen
prolinux-forum-admin
Beiträge: 1444
Registriert: 26. Jun 2004 21:18
Kontaktdaten:

#2 Beitrag von klopskuchen » 16. Okt 2006 15:51

Mit den von POSIX.1 vorgeschriebenen opendir()[1], readdir() und closedir() hast du eine einheitliche Schnittstelle zum Einlesen der Verzeichniseinträge. Durchlaufe die Einträge und prüfe auf Dateityp des Eintrages. Ist der Eintrag wiederum ein Verzeichnis: Rekursion oder zunächst wegschreiben. Ansonsten ermittle die Dateigröße und addiere sie zum Wert der letztendlich die Gesamtgröße angeben soll.

MfG, Klopskuchen

[1] <sys/types.h> und <dirent.h>
When all else fails, read the instructions .

himero
Beiträge: 8
Registriert: 10. Okt 2006 12:56

#3 Beitrag von himero » 17. Okt 2006 13:09

Vielen Dank schonmal!

Leider habe ich Probleme mit der Umsetzung des Vorschlages. Wie durchlaufe ich die Einträge am besten und prüfe diese dann?

MfG
himero

Benutzeravatar
Janka
Beiträge: 3585
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 17. Okt 2006 13:26

Guck dir doch mal den Quellcode von "du" an. Das Programm ist bei den GNU coreutils dabei.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten