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

Visual C++ Discussion :

Comportement étrange de FindFirstFile / FindNextFile


Sujet :

Visual C++

  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 Comportement étrange de FindFirstFile / FindNextFile
    Bonjour,

    J'ai des fichiers
    toto1.txt, toto1.txt20070126_1, toto1.txt20070126_2
    toto2.txt, toto2.txt20070126_1, toto2.txt20070126_2

    Dans un premier temps, je ne veux que trouver les toto1.txt et toto2.txt
    J'ai donc fait une recherche sur "toto*.txt".
    Malheureusement, ça trouve aussi tous les autres.

    Dans un deuxième temps, je ne veux que les fichiers archives et en voyant le comportement ci-dessus, j'ai pensé que faire une recherche sur "toto*.txt20070126" suffisait...mais non; pour avoir ce que je veux, il a fallu chercher "toto*.txt20070126*"


    Question : pourquoi ma première recherche sur "toto*.txt" a-t-elle le comportement d'une recherche sur "toto*.txt*"? Comment faire pour résoudre le problème (mis à part filtrer après, ce qui est ennuyeux quand on a déjà une fonction qui est sensée filtrer correctement).

    Merci.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Mon opinion : Il est possible que ce soit dû au nom 8.3 des fichiers (vérifie le nom 8.3 de tes fichiers archivés)

    Mon Conseil: N'agrandit pas ainsi l'extension de tes fichiers. Tu devrais rajouter la date avant l'extension, précédée ou non d'un point ou d'un autre séparateur quelquonque (toto120070126_1.txt ou toto1.20070126_1.txt, etC.)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    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
    Pour le nom "8.3" j'imagine que tu veux dire que le nom doit être de 8 caractères avant le "." de l'extension (ça fait peu) et donc 3 que l'extension ne doit faire que 3 lettres.

    Le souci, c'est que ce n'est pas moi qui choisit le renommage en totox.txtYYYYMMDD_y.
    Donc soit il existe des options supplémentaires ou quelque chose comme ça, soit je suis obligé de refiltrer les résultats trouvés derrière.

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    En fait, c'est limite le genre de choses pour lequel je demanderais *.*, pour faire le filtrage moi-même derrière (un coup de sscanf() peut aider, là)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    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
    Citation Envoyé par Médinoc
    En fait, c'est limite le genre de choses pour lequel je demanderais *.*, pour faire le filtrage moi-même derrière
    Oui, bon, autant faire un premier filtrage quand-même quitte à appeler ces fonctions. OK, il n'y a pas mieux que ce que j'ai fait alors.

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

Discussions similaires

  1. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  2. Réponses: 7
    Dernier message: 26/06/2005, 12h32
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

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