Verzeichnisgröße ermitteln C++

Post Reply
Message
Author
himero
Posts: 8
Joined: 10. Oct 2006 12:56

Verzeichnisgröße ermitteln C++

#1 Post by himero »

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
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#2 Post by klopskuchen »

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
Posts: 8
Joined: 10. Oct 2006 12:56

#3 Post by himero »

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

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#4 Post by Janka »

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.

Post Reply