#include #include #include #include #include #include #include #include #include using namespace std; class App { public: App(){} ~App(){} unsigned long sizeDir( QString path ) { QString cat, eString, exclude=""; unsigned long size = 0, sizeTotal = 4096; QDir d; const QFileInfoList *list; if ( path == "/root" ) exclude = "distfiles"; if ( d.cd( path ) ) { d.setFilter( QDir::Dirs | QDir::Files | QDir::NoSymLinks ); d.setSorting( QDir::Name ); list = d.entryInfoList(); if ( list != 0 ) { QFileInfoListIterator it( *list ); QFileInfo *fi; while ( (fi = it.current()) != 0 ) { cat = fi->fileName().latin1(); if ( ( cat!="." ) && ( cat!=".." ) && ( cat != exclude ) ) { if ( fi->isDir() ) { size = sizeDir( path + "/" + cat ); } else size = (int)fi->size(); sizeTotal = sizeTotal + size; } ++it; } } } return sizeTotal; } }; int main() { App a; cout<<"DISK SPACE"<<"\n"; QString path = "/home/fmanuel/."; unsigned long msize; msize = a.sizeDir(path); cout<<(msize/1024)<<"MB\n"; return 1; }