Forum Programmation.c Liste de fichiers avec des jokers sous Linux

Posté par (page perso) .
Tags : aucun
1
10
sept.
2008
bonjour,

existe-t-il, sous Linux, une lib ou un algo qui permet de retrouver les fonctions présentes dans le header io.h de Metrowerks Standard Library

_findfirst(), _findnext(), _findclose() ...

ces fonctions permettent de construire une liste de fichiers suivant une expression régulière contenant des caractères joker ( ex: *.linux??.txt )

je tourne actuellement autour de fnmatch() et glob() ... mais j'aimerais trouvé le couteau suisse !
  • # Pas évident...

    Posté par . Évalué à 1.

    Bash implémente sa propre logique (oui, c'est le shell qui a pour mission d'implémenter l'expansion des chemins)

    C'est dans pathexp.c si ça peut t'aider...
    • [^] # Merci c'est OK avec glob.h

      Posté par (page perso) . Évalué à 1.

      /*
      test de la fonction glob()
      */

      #include <stdio.h>

      #include <glob.h>


      int main( int argc, char *argv[])
      {
      glob_t globbuf;

      unsigned int i;

      globbuf.gl_offs = 0;
      glob("/etc/*.c??f", GLOB_ERR, NULL, &globbuf);
      for( i=0 ; i<globbuf.gl_pathc ; i++) {
      fprintf(stdout, "\n%.2d: %s", i, globbuf.gl_pathv[i]);
      }
      globfree(&globbuf);

      return 0;
      }
    • [^] # Merci c'est OK avec glob.h

      Posté par (page perso) . Évalué à 2.

      /*
      test de la fonction glob()
      */

      #include <stdio.h>

      #include <glob.h>


      int main( int argc, char *argv[])
      {
      glob_t globbuf;

      unsigned int i;

      globbuf.gl_offs = 0;
      glob("/etc/*.c??f", GLOB_ERR, NULL, &globbuf);
      for( i=0 ; i<globbuf.gl_pathc ; i++) {
      fprintf(stdout, "\n%.2d: %s", i, globbuf.gl_pathv[i]);
      }
      globfree(&globbuf);

      return 0;
      }

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.