begin process at 2012 02 11 00:50:27
  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 le contenu d'un CEdit en fichier .txt [ par manyyy67 ] Bonjour, Je debute en c++, je suis charger des faire quelque ameliorations sur un (gros) programme professionel en c++(le IE est visual C++ 6 et le pr tinyos-1.x [ par sab113 ] Bonsoir à tous, voilà, je suis en préparation de mon mémoire sur le thème de l'étude des protocoles de routage dans les RCSF j'ai installé le tinyos Recuperer des valeurs aprés un scanf [ par andoid ] Bonjour j'ai un probléme avec mon tableau de char: je m'explique, j'ai char chaine[]; scanf("%s"chaine); si l'utilisateur met en ligne de commande


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 5,086 sec (3)

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