Fichier qui affiche dans la console tout les fichiers et dossier du lecteur C

Résolu
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008 - 7 sept. 2008 à 14:02
chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008 - 25 nov. 2008 à 11:08
Comment faire un fichier qui affiche dans la console tout les fichiers et dossier du lecteur C ?

6 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
7 sept. 2008 à 16:07
Un "fichier" ? Un exécutable tu veux dire ?

Sous windows:
FindFirstFile
FindNextFile

et FindClose lorsque terminé.

Pour des exemples, recherche sur ce site. T'as déjà un exemple ici:
http://www.cppfrance.com/codes/NENGINE-MOTEUR-RECHERCHE-FICHIER-UPDATE_17481.aspx

C++ (@++)<!--
3
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
7 sept. 2008 à 17:43
Je voudrais faire un programme qui liste tout les fichiers du lecteur C. Pas seulement les exe.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
7 sept. 2008 à 18:10
Où ai-je dis que ça listait seulement les .exe ?

Je parlais de ceci:

"Comment faire un fichier qui affiche dans la console tout les fichiers et dossier du lecteur C ?"

Comment faire un exécutable/code qui affiche dans la console tout les fichiers et dossier du lecteur C ?

C++ (@++)<!--
0
cs_kiitos Messages postés 34 Date d'inscription vendredi 10 mars 2006 Statut Membre Dernière intervention 14 septembre 2008
7 sept. 2008 à 21:24
Ouais c'est ça que je veux faire, j'ai essayé plein de sources différentes mais ça ne marche pas et dans le meilleur des cas il y a une console qui apparait et s'éteind immédiatement malgrés les getch() que j'ai mis.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
8 sept. 2008 à 10:20
Les 2 fonctions dans le 1er message de SAKingdom devraient d'aider.

http://c.developpez.com/faq/?page=fichiers#FICHIERS_dir_list
0
chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008
25 nov. 2008 à 11:08
Ca devrait aider, même si ce n'est plus vraiment d'actualité d'après la date du poste, ça aidera toujours si quelqu'un passe par là :

/****************************************************************/
/*                                                                */
/* FONCTION :    Liste tous les fichiers, repertoires et            */
/*                sous-repertoire du chemin passé en    paramétre,    */
/*                dans le fichier texte "fichier" defini lors        */
/*                de l'appel de la fonction.                        */
/*                                                                */
/* IN    :        Le premier parametre correspond au dossier dont    */
/*                le contenu va etre listé. Le second correspond    */
/*                au fichier texte qui va recevoir la liste.        */
/*                                                                */
/* OUT :        VOID                                            */
/*                                                                */
/****************************************************************/
/*                                                                */
/* AUTEUR :        P. KOCH (Avec l'aide de GLIPPER de CPPFr)    */
/*                                                                */
/****************************************************************/
/*                                                                */
/* DATE                MODIFICATION(S)                    AUTEUR        */
/*                                                                */
/* 24/11/2008        Création                        P. KOCH        */
/*                                                                */
/****************************************************************/

void listedd(char *CurrentDir, FILE *fichier)
{

    char chemin[MAX_PATH];        // Variable qui va contenir les chemins
    WIN32_FIND_DATA wData;        // Structure d'information de fichier (utilisée pour obtenir le nom et la taille entre autre)
    HANDLE listing;

    // Ajout de '*' à la fin du chemin pour FindFirstFile()
    sprintf (chemin, "%s*", CurrentDir);
    listing = FindFirstFile(chemin, &wData);
   
    // Suppression de '*' à la fin du chemin
    sprintf (chemin, "%s", CurrentDir);

    if (listing != INVALID_HANDLE_VALUE)
    {
        do
        {
            if ((strcmp(wData.cFileName, ".."))&&((strcmp(wData.cFileName, "."))))    // On ignore les repertoire . et ..
            {
                if (wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // On verifi si c'est un repertoire
                {
                    // Si c'est un repertoire, on recupere le nouveau chemin, et on va rentrer dedans...
                    sprintf(chemin, "%s%s\", CurrentDir, wData.cFileName);
                    // On liste ce repertoire dans le fichier
                    fprintf(fichier,"%s;%d\n",chemin,wData.ftLastWriteTime); // Ici on ecrit dans un fichier texte le resultat
                    // On appel a nouveau la fonction
                    listedd(chemin, fichier);
                    // On reviens un repertoire en arrière
                    int cpt = strlen(chemin)-2;
                    while (cpt>0)
                    {
                        if (chemin[cpt] == '\\')
                        {
                            chemin[cpt+1] = '\0';
                            break;
                        }
                        cpt--;
                    }
                }
                else // Si c'est un fichier, on liste son chemin dans le fichier

                    fprintf(fichier, "%s%s;%d\n", chemin,wData.cFileName,wData.ftLastWriteTime); // Ici on ecrit dans un // fichier texte le resultat
            }
        }while (FindNextFile(listing, &wData));
    }
    FindClose(listing);
}

Bonne journée
0
Rejoignez-nous