Belegter Speicherplatz in einem Ordner

T

tuba

Hallo,
ich bin neu in diesem Forum.
Ich programmiere zur Zeit in C++ ein embeddet Linux-System mit Arm 9 Processor.
Mein Host-System ist SUSE-Linux 10.
Ich habe folgendes Problem:
Wie kann ich feststellen wieviel Bytes in einem Ordner schon durch Dateien belegt sind?
Der Systembefehl "du" gibt mir diese Information, aber wie kann ich das im C++-Programm verwirklichen?

Ich wäre dankbar, wenn mir da Jemand einen guten Tip geben könnte.

Gruß tuba:oldman
 
Du könntest mit system() "du" aufrufen und die ausgabe in eine Datei umleiten und diese anschließend auslesen. Aber ich glaube es gibt eine weniger umständliche Lösung.
 
Hallo
Du solltest dir mal die Funktion fstat ansehen.
Bin zwar kein C++ Guru, aber ich denke das ist das was du suchst.
man fstat
hilft dir sicher weiter.

Das Arbeiten mit File I/O Operationen gehört sicher zu deinem Grundwissen.
Also brauchst du nur kumulatives Sammeln der Daten.

Gruß Wolfgang
 
hi tuba

ich wuerde das so machen:
Code:
#include <sys/stat.h>
#include <sys/types.h>

int main(void){
   struct stat att;
   
   stat("dateiname.irgendwas", &att); /*gibt bei fehlschlag -1 zurueck*/

   printf("Groesse in bytes: %d", att.st_size);
}/*end main*/

tja so kannste die groesse einer datei ermitteln!
das ist natuerlich noch nicht alles was du machen musst du muesstes vorher noch alle dateien aus dem verzeichnis auslesen das koenntest du folgendermassen machen:

Code:
#include <sys/types.h>
#include <dirent.h>

int main(void){
   DIR *dir;
   struct dirent dirPointer;

   /*oeffnen des verzeichnisses*/
   dir = opendir(nameDesVerzeichnisses); /*gibt bei fehlschlag NULL zurueck*/
   
   while( (dirPointer=readdir(dir) ) != NULL)
      printf("%s", (*dirPointer).d_name);
}/*end main*/

tja so koenntes du das machen ich kann leider nicht garantieren dass das so funkt da ich es ausm stehgreif einfach so reingeschrieben habe aber du hast auf jedefall einmal inspiration und ein paar stichwoerter!

mfg
badBACKSLASH
 
Cool, ich wusste gar nicht, dass es so schöne Sachen gibt.
Wo gibt's eigentlich eine Auflistung dieser ganzen Funktionen - außerhalb der Manpages.
Ich will ja nur wisse, was es alles gibt.
 
HIER solltest du ne gute sammlung der funktionen bekommen die man nutzen kann.
die dateisystem-funktionen sind in der "Section 5" beschrieben...
 

Ähnliche Themen

xrandr: cant open display

Debian Routing Problem

Heimserver Konfiguration für Ubuntu Server?!

NagiosGrapher 1.7.1 funktioniert nicht

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Zurück
Oben