All pastes #248689 Raw Edit

Something

public text v1 · immutable
#248689 ·published 2006-11-14 22:22 UTC
rendered paste body
#include <qt3/qfile.h>
#include <qt3/qstring.h>
#include <qt3/qiodevice.h>
#include <qt3/qdir.h>
#include <stdio.h>
#include <stdlib.h>
#include <sstream>
#include <iostream>
#include <string>


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;

}