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 :

FindFirstFile : petit problème


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut FindFirstFile : petit problème
    Bonjour,

    Je cherche à lister tous les répertoires d'un répertoire pathdata.
    Je cherche donc les éléments de type "pathdata\*" avec FindFirstFile / FindNextFile et je filtre avec le critère FindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY.

    Mon problème : ces fonctions commencent par trouver les répertoires "." et ".." dont je ne veux pas. Comment filtrer ça?

    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    C'est une colle?

  3. #3
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    Je n'ai pas trop le temps de regarder mais comme . et .. sont bien des répertoires, c'est normal qu'il te les trouve, et je ne sais pas si il existe un filtre direct. Une solution sûre est de faire un tout petit test sur les repertoires que tu récupères.

    Si il existe une astuce regarde dans la msdn ce doit surement etre marqué :

    http://msdn2.microsoft.com/en-us/library/aa364418.aspx

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Merci de ta réponse. Mais rien dans la MSDN

    J'ai une solution très moche, c'est de vérifier que le répertoire n'est ni "." ni ".." mais j'aurais voulu quelque chose de plus standard.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Path != "." && Path != "..")
        fais_ton_truc
    Ca n'a rien de moche, ce sont des répertoires comme les autres que tu veux ignorer.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    Je sais que c'est "." et ".." seulement parce que j'ai regardé en debug ce que me sortait la fonction, mais imaginons qu'on ait eu juste "." ou au contraire ".", "..", "...", etc.
    Ca dépend peut-être du répertoire où on se trouve.

    C'est que ça me semble pas très universel mais si personne ne voit mieux que ça, je laisse ce machin.

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ca ne peut pas être autre chose, ces deux répertoires sont bien connus quelque soit l'OS et seront trouvés dans tous les repertoires :
    "." désigne le répertoire courant
    ".." désigne le répertoire parent

    Au pire si tu n'as pas ".." dans les repertoires haut-niveau, ça n'empêchera pas le code de fonctionner.

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

Discussions similaires

  1. un petit problème d'algo
    Par supertramp dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 12/10/2004, 20h13
  2. Petit problème de décimales !
    Par ridan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/09/2004, 21h24
  3. Réponses: 17
    Dernier message: 13/07/2004, 20h37
  4. petit problème premier plan, arrière plan
    Par gros bob dans le forum OpenGL
    Réponses: 4
    Dernier message: 19/04/2004, 12h00
  5. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55

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