begin process at 2010 02 10 11:49:53
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > UTILISER LA LIB DIRENT

UTILISER LA LIB DIRENT


 Description

Cliquez pour voir la capture en taille normale
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

  • #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;
  • }
#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)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture LECTEUR DE MUSIQUE AVEC SDL ET FMOD
Source avec Zip Source avec une capture RPG SIMPLE EN C++ AVEC SDL ET FMOD

 Sources de la même categorie

AFFICHAGE D'UN TRIANGLE ISOCELE par nabche
Source avec Zip GESTION D'UNE BIBLOTHEQUE par leclerro19
[PSP]HELLO WORLD par Mario1095
UN TABLEAU MULTIDIMENTIONNEL COMME PARAMETRE DE FONCTION EN ... par Mcjo
Source avec Zip Source avec une capture MINI PROJET MICROCONTRÔLEUR THERMOMÈTRE HORLOGE par zmtechnologie

 Sources en rapport avec celle ci

Source avec Zip DIR LIKE DE WINDOWS par jhwnd
Source avec Zip Source avec une capture [C/WIN32] EFFACER FICHIERS/RÉPERTOIRES VIDES par SAKingdom
Source avec Zip PLANSCAN : SCANNEUR DE FICHIER ET CONFIGURATION PC par bipcpp
BCB : LISTER LES FICHIERS D'UN RÉPERTOIR DANS UNE TSTRINGLIS... par Kirua
Source avec Zip FINDFILE(UPDATE) par NitRic

Commentaires et avis

Commentaire de omnia le 13/12/2008 18:16:12

bonjour,

elle sert a quoi cette source ?

normalement dans la description on indique a quoi sert la source ?

bonne journée.

Commentaire de Lemng le 13/12/2008 18:39:36

salut moi, dans la description je lis : "voici une source qui pourra vous servir pour la manipulation des fichier".
Si tu veux plus de précision, sache que son rôle est de lister les fichiers contenus dans un répertoire, et avec quelque astuce : d'utiliser ces fichiers, ceci te permettra d'utiliser ton programme sans savoir à la base le nom ni le nombre de fichier qu'il utilisera.
D'ailleurs l'exemple que j'ai inclus est un lecteur audio pouvant lire les musiques situées dans un répertoire("dossier") à l'aide de dirent.h

Bonne journée à toi aussi.

Commentaire de BruNews le 14/12/2008 12:11:38 administrateur CS

Vu que fmod.dll du source est pour Windows, il convient de préciser que dirent.h n'a rien à faire dans un prog Windows.
Utiliser FindFirstFile et FindNextFile.

Commentaire de Lemng le 15/12/2008 17:46:58

Salut.

Le but de la source est de montrer le fonctionnement de dirent. FMOD est utilisé pour l'exemple, le sujet n'est pas utiliser FMOD, j'ai donc utilisé des fonctions de dirent.h .

a+

Commentaire de guyver88 le 17/09/2009 06:53:52

salut!c'est guyver88
Et si j'ai visual c++ 6.0 qui n'a pas le dirent.h ,comment je doit faire?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lister un répertoire [ par Niamor ] Bonjour,J'aurais besoin de savoir comment lister le contenu d'un répertoire( j'ai utilisé opendir et readdir, mais cela ne marche correctement avec DE question pour logiciel sur jeux video [ par glash ] lut,J'ai créé une sorte de répertoire pour les serveurs de jeux et j'aimerai y mettre un fonction qui permettent de rejoindre le serveur rien qu'en ta supprimer tout les fichiers d'un répertoire [ par AoD ] je recherche une fonction qui permet de supprimer tout les fichiers d'un répertoire.merci de vite me répondre [Linux] ajout utilisateur et son répertoire : PAM ? [ par Vinsou ] Bonjour à tous,Je suis en train de faire une petite appli pour gérer la création de comptes pour un service d'hébergement web sur serveur mutualisé. E Supprimer un répertoire [ par Hundai ] Comment supprimer un répertoire et tout son contenu ??? (même s'il contient d'autres répertoires).Merci Microsoft Common Dialog [ par tweet ] Salut, voilà, j'ai un problème : en fait, en utilisant les MCD ( CFileDialog ) cela change le répertoire courant de mon programme. Je voudrais savoir ChDir - au retour du programme: sur ancien répertoire [ par jean78 ] Avec Microsoft C++, en mode Win console (lancement de porgramme en fenêtre DOS), lorsque j'exécute la fonction ChDir pour changer de répertoire, la fo lister fichier dans un répertoire [ par mutintin ] Je cherche un fonction en C qui pourrait, en donnant le chemin d'un dossier, me retourner un tableau avec les noms de l'ensemble des fichiers avec leu Selecteur de répertoire [ par PeteBull ] J'aurais besoin d'un petit coup de main pour permettre a un utilisateur de sélectionner un répertoire par l'intermédiaire d'une boite de bialogue.On n composant TNMFTP (c++ builder 4) [ par bhe ] Quand je parse un serveur ftp (unix) avec la méthode -&gt;list() du composant, il tronque les noms de répertoire avec des espaces.Ex:répertoire "test1


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales