Partage
  • Partager sur Facebook
  • Partager sur Twitter

C: fonctions sur les fichiers et repertoires

une fonction qui liste.

Anonyme
    9 mars 2006 à 10:44:35

    Bonjour :)

    Existe t-il une fonction en C qui liste des repertoires et des fichiers?

    Merci d'avance! :ange:
    • Partager sur Facebook
    • Partager sur Twitter
      9 mars 2006 à 11:04:33

      Bonjour,

      Voici une fonction qui utilise des fonctions C pour l'affichage d'un contenu d'un répertoire
      Telle que cette fonction est écrite ici, elle n'a pas été tester car elle est issu d'une fonction
      que j'ai écrite mais qui fonctionnais avec des objets de la bibliothèque wxWidgets.

      void DisplayDir(const char* current)
      {
         DIR *dp;
         dirent *ep;
         struct stat buf;

         dp = opendir(current);
         if (dp != NULL)
         {
            while ((ep = readdir(dp)) != NULL)
            {
               if ((strcmp(ep–>d_name‚ ".") != 0)&&(strcmp(ep–>d_name‚ "..") != 0))
               {
                  if (stat(tmp.c_str()‚ &buf))
                  {
                     buf.st_mode  = 0;
                     buf.st_size = 0;
                     buf.st_atime = 0;
                     buf.st_mtime = 0;
                     buf.st_ctime = 0;
                  }

                  if (S_ISDIR(buf.st_mode))
                  {
                     printf("%s <DIR>\r\n"‚ ep–>d_name);
                  }
                  else
                  {
                     /* pour Windows
                     printf("%s %lu\r\n"‚ ep–>d_name‚ buf.st_size);
                     */

                     /* Pour GNU/Linux */
                     printf("%s %llu\r\n"‚ ep–>d_name‚ buf.st_size);
                  }
               }
            }
            closedir (dp);
         }
      }



      J'espère que ceci répondras a vos attentes.

      Cordialement

      Fred Cailleau-Lepetit (Soft In The Box)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 mars 2006 à 13:09:08

        :D merci interressante cette fonction!
        mais une petite question que fait > 'current' < ?? :euh:
        • Partager sur Facebook
        • Partager sur Twitter
          9 mars 2006 à 14:06:36

          Citation : charly90

          que fait > 'current' < ?


          Pour le savoir, il suffit de lire la doc de opendir().

          C'est un paramètre qui sert à passer le nom du répertoire à partir duquel on explore. Par exemple "/" (racine) ou "/usr" ou "." (courant).

          J'aurais appelé le paramètre 'chemin' ou 'path'...
          • Partager sur Facebook
          • Partager sur Twitter
          Music only !
            9 mars 2006 à 14:07:28

            Bonjour,

            j'ai gardé le nom de la variable originale, qui dans la fonction originale représentait le répertoire courant.
            Pour plus de clarté il faudrais la renommer path ou chemin
            En fait c'est le chemin que vous voulez lister.
            Exemple d'utilisation de la fonction sous windows :
            DisplayDir("c:\\Mes Documents");
            listera les fichiers et répertoires de c:\Mes Documents.

            Cordialement

            Fred Cailleau-Lepetit (Soft In The Box)
            • Partager sur Facebook
            • Partager sur Twitter

            C: fonctions sur les fichiers et repertoires

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown