IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

listing de fichiers avec une extension données depuis un répertoire


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 22
    Par défaut listing de fichiers avec une extension données depuis un répertoire
    Bonjour,

    j'ai cherché un peu sur le site, pour lister les fichiers d'un répertoires.
    J'ai trouvé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct dirent *lecture;
    DIR *rep;
    rep = opendir("." );
    while ((lecture = readdir(rep)))
    	{		
           printf("%s\n", lecture->d_name);
        }
    closedir(rep);
    Maintenant, je voudrais ne lister que les fichiers qui ont une extension de type .pnm
    Comment faire ?
    Merci !

  2. #2
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int          check_extension(char *str)
    {
      int           i;
     
      for (i = 0; str[i] && str[i + 4]; ++i); 
      if (strncmp(str + i, ".pnm", 4);
         return (1);
      return (0); 
    }
    Ca devrait faire l'affaire. Tout ce que tu as à faire ensuite c'est d'appeler cette fonction avant chaque affichage de fichier et vérifier sa valeur de retour. 1 tu affiches 0 tu affiches pas...

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Le plus simple est de chercher le dernier '.' dans le nom avec la fonction standard strrchr() et de comparer ce qui la suit à "pnm" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int check_extension(char *str)
    {
      char *p = NULL;
      if (str != NULL) p = strrchr(str,'.');
      return p != NULL ? strcmp(p,".pnm") == 0 : 0 ; 
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/08/2010, 09h35
  2. Lister/supprimer des fichiers avec une extension précise
    Par guiguiomr dans le forum VBScript
    Réponses: 10
    Dernier message: 20/05/2008, 10h34
  3. Réponses: 6
    Dernier message: 30/01/2008, 20h46
  4. Réponses: 10
    Dernier message: 23/04/2007, 22h59
  5. Ouvrir fichier avec une extension dmp
    Par flo_opium dans le forum Oracle
    Réponses: 2
    Dernier message: 23/11/2006, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo