IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez C++ Discussion :

[FAQ][c++Builder]Taille d'un répertoire


Sujet :

Contribuez C++

  1. #1
    Invité(e)
    Invité(e)
    Par défaut [FAQ][c++Builder]Taille d'un répertoire
    Voici un petit bout de code pratique : connaitre la taille d'un répertoire fichiers et sous répertoires inclus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    /**
     * Calcul de la taille d'un répertoire (récursif)
     */
    __int64 getDirectorySize(AnsiString path)
    {
        __int64 totalSize = 0;
        AnsiString searchPath;
        /* On vérifie que path se termine bien par '\' */
        if(path[path.Length()] != '\\') {
            path += '\\';
        }
        searchPath = path;
        searchPath += "*";
        TSearchRec fileInfo;
     
        /* on inspecte tous les fichiers et dossiers */
        if( 0 == FindFirst(searchPath, faAnyFile, fileInfo)) {
            do {
                /* on ignore . et .. */
                if("." == fileInfo.Name || ".." == fileInfo.Name) {
                    continue;
                }
                switch(fileInfo.Attr) {
                    case faDirectory :
                        /* appel récursif */
                        totalSize += 
                            getDirectorySize(path + fileInfo.Name + "\\");
                        break;
                    case faSymLink :
                        /* ignorer symlinks */
                        break;
                    default :
                        /* on ajoute la taille du fichier à 
                           la taille du répertoire */
                        totalSize += fileInfo.Size;
                }
            }
            while(!FindNext(fileInfo));
        }
        FindClose(fileInfo);
     
        return totalSize;
    }
    Dernière modification par Invité(e) ; 18/02/2011 à 10h05. Motif: Mise en forme

Discussions similaires

  1. Lien Faq C++ builder
    Par BGS dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 10/03/2006, 14h27
  2. Récuprérer la taille d'un répertoire
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 03/02/2006, 19h17
  3. Réponses: 8
    Dernier message: 13/06/2005, 13h48
  4. Taille d'un répertoire
    Par Faiseur dans le forum Assembleur
    Réponses: 2
    Dernier message: 26/12/2004, 23h54
  5. taille d'un répertoire
    Par cd090580 dans le forum C++
    Réponses: 3
    Dernier message: 11/09/2004, 22h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo