begin process at 2010 03 21 23:06:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Recuperer le contenu d un dossier en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recuperer le contenu d un dossier en C

jeudi 27 janvier 2005 à 16:29:37 | Recuperer le contenu d un dossier en C

Ptlpn

Bien le bonjour,

J ai une nouvelle colle a vous poser : comment puis-je faire pour recuperer le contenu d un dossier de mon choix, en C?

Merci d avance


 Ptlpn 0o.

jeudi 27 janvier 2005 à 18:12:30 | Re : Recuperer le contenu d un dossier en C

alkove

Réponse acceptée !
salut,

regarde :
sous dos : opendir() puis readdir()
sous windows FindFirstFile() puis FindNextFile()

vendredi 28 janvier 2005 à 09:52:00 | Re : Recuperer le contenu d un dossier en C

Neo020585

Membre Club
Il faut pour cela créer une fonction qui va rentrer dans le répertoire que tu as choisis.
Elle va ensuite regarder le 1er élément :
- si c'est un dossier, elle rentre dedans, puis elle parcours à nouveau ce dossier en appelant la fonction que tu as créee (récursivité), etc...
- si c'est un fichier, tu récupère le nom du fichier, et tu fais ce que tu veux avec :)
J'ai déjà fait cette fonction, en C++, et j'ai trouvé la source sur cppfrance. (en fait, je l'ai modifiée car elle ne me donnait pas assez d'info pour mon prog !)  :
http://www.cppfrance.com/codes/SCANDISC_SIMPLE_POUR_LISTER_LE_CONTENU_DUN_REPERTOIRE_-_DES_SOUS-REPERTOIRES-/22116.aspx
Je ne peux pas t'assurer qu'elle fonctionne en C, mais mon raisonnement est celui que tu doit appliquer pour obtenir un bon résultat.

Néo020585

La programmation, c'est l'art de découvrir

dimanche 30 janvier 2005 à 20:39:15 | Re : Recuperer le contenu d un dossier en C

yserver

Voila un exemple de fonction qui supprime tous les fichiers et repertoires d'un repertoire passé en parametre

//---------------------------------------------------------------------------
//Suppression récursive des fichiers d'un repertoire
void fSupp_Files ( char f_Rep [ 512 ] )
{
 //Déclaration des variables
 char f_Chemin [ 512 ] ;
 WIN32_FIND_DATA wData ;
 HANDLE f_Find ;
 //Initialisation des variables
 //Ajout de *.* f_Chemin
 sprintf ( f_Chemin , "%s*.*" , f_Rep) ;
 //Initialisation du Handle de recherche de fichiers
 f_Find = FindFirstFile(f_Chemin, &wData);
 //Suppresion de *.* a f_Chemin
 strcpy ( f_Chemin , f_Rep ) ;
 if ( f_Find != INVALID_HANDLE_VALUE)
 {
        do
        {
            if ( ( strcmp (wData.cFileName , "..") ) && ( strcmp (wData.cFileName, ".") ) )
            {
                if ( wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
                {
                        //puisque c'est un repertoire, on recupere la nouvelle adresse, et on va rentrer dedans...
                        sprintf ( f_Chemin , "%s%s\\", f_Rep , wData.cFileName ) ;
                        //On rappelle la fonction pour qu'elle supprime les fichiers du répèrtoire
                        fSupp_Files ( f_Chemin ) ;
                        RemoveDirectory ( f_Chemin ) ;
                    // reviens un repertoire en arriere
                    int j = strlen ( f_Chemin ) - 2 ;
                    while ( j > 0 )
                    {
                        if ( f_Chemin [ j ] == '\\' )
                        {
                            f_Chemin [ j+1 ] = '\0' ;
                            break ;
                        }
                        j -- ;
                    }
                }
                else // ce n'est pas un répèrtoire donc le fichier est supprimé
                    sprintf ( f_Chemin , "%s%s" , f_Rep , wData.cFileName ) ;
                    DeleteFile ( f_Chemin ) ;
            }
        } while ( FindNextFile ( f_Find , &wData ) ) ;
    }
    FindClose( f_Find );






Cette discussion est classée dans : recuperer, dossier, contenu


Répondre à ce message

Sujets en rapport avec ce message

taille du contenu d'un dossier [ par myocean ] J'ai trouvé comment trouvé l'espace libre, ocupé et la capacité d'un disque avec ''GetDiskFreeSpaceEx'' et maintenant je voudrai avoir la taille occu Creation mini explorateur+propietes [ par champista ] Coucou, c encore moi...le debutantBon, je repars sur des nouvelles bases.Mon but est de créer une interface du type mfc avec:-une arborescence des dis recuperer contenu d'une textBox en c++ [ par largo118 ] Bonjour, Je voudrait savoir comment faire pour recuperer le contenu d'une textbox remplie par l'utilisateur afin de l'integre dans une variable en C++ recuperer le contenu d'une fenetre dos [ par ben01n ] salut j'ai une fenetre dos sur laquelle s'affiche des données les une a la suite des autresje voudrais savoir comment je peux faire pour recuperer pér Déplacer un dossier et son contenu [ par bebel6 ] Bonjour,je cherche à déplacer un dossier et son contenu par l'intermédiaire d'un simple click en utilisant la fonction MoveFile ( old, new );Mion prob recuperer IP de la carte WAN [ par doudblast ] Salut,je débute en programmation sockets en C++, et j'aurais besoin de récupérer l'adresse non pas locale (donnee par gethostbyname) mais celle que me Tester existence d'un dossier [ par Cameleon69 ] Je cherche comment trouver si un dossier existe?J'ai bien vu un article sur le forum mais cela ne marche pas,j'utilise GetFileAttributes(path); mais c Copier le contenu d'un tb dans un autre sans copier tout les élément 1 a un. [ par Fanu ] Salut a tous.J'aimerais savoir s'il existe un moyen de copier directement tou ou une partie du contennu d'un tableau dans un autre tableau.Un truc un Problème de chaine :S [ par sebastienbro ] Bonjour à tous !J'ai créé une fonction pour vider un dossier de ces fichiers, suivant différents paramètres.Le problème, c'estq ue ça marche pour un p recuperer les trace d execution [ par tagada_du_loft ] Bonjour ou bonsoir a tousje voudrais recuperer les trace d execution d un ti prog de test.est ce possible de le faire directement ou plutot comment fa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

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,312 sec (3)

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