Utiliser la lib dirent

Description

voici une source qui pourra vous servir pour la manipulation des fichier. J'ai inclu un fichier cpp contenant le code suivant dans le zip ainsi qu'une application avancée utilisant des bouts de ce code et la lib FMOD

Pour que l'exemple avancé fonctionne il vous faut la DLL de FMOD et des chansons dans le répertoire "dossier".

Source / Exemple :


#include <cstdlib>
#include <iostream>
#include <dirent.h>         //Il faut inclure la libraire dirent en question

using namespace std;

int main(int argc, char *argv[])
{
    DIR *pdir = NULL;           //pointeur vers un dossier, il vaut mieux l'initialiser
    
    struct dirent *pent = NULL;           //structure nécessaire a la lecture de
                                                          //répertoire, elle contiendra le nom
                                                          //du/des fichier
                                           
    pdir = opendir (".");                  // "." veut dire "le répertoire dans
                                                   //lequel est contenu le dossier"
                                           
    if (pdir == NULL)                      //si il y a eu un problème pour l'ouverture du répertoire
    {
        cout << "Erreur d'ouverture du repertoire" << endl; //on avertit l'utilisateur
        
        return EXIT_FAILURE;               //on quitte en renvoyant un resultat d'erreur                                  
    }
    
    while (pent = readdir (pdir))          //tant qu'il reste quelque chose qu'on a pas lister
    {
        if (pent == NULL)                  //si il y a eu un probleme dans
        {                                  //l'ouverture d'un fichier du repertoire
                
                cout << "Erreur d'ouverture d'un fichier contenu dans le repertoire" << endl;
                                            //on avertit l'utilisateur
                return EXIT_FAILURE;       //on quitte
        }
        
        cout << pent->d_name << endl;       //si il n'y a pas eu d'erreur on écrit
                                                               //le nom du fichier
    }
    
     closedir (pdir);                       //on libère des ressources
    
    system("PAUSE");                           
    return EXIT_SUCCESS;
}

Conclusion :


j'espère que cette source vous aidera a mieux comprendre le fonctionnement de cette lib très utile.
N'hésitez pas a critiquer(en bien ou en mal)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.