Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1957 connectés 

  FORUM HardWare.fr
  Programmation
  C

  API Win32 : FindFirstFile merde avec les Wilcards ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

API Win32 : FindFirstFile merde avec les Wilcards ?

n°527827
El_gringo
Posté le 01-10-2003 à 14:55:15  profilanswer
 

Je comprend pas ce qui se passe
Sous windows, quand on fait "Rechercher un fichier", et qu'on dis de rechercher,

00001.*

dans une répertoire qui contient 2 fichiers : 00001 et 00001.tmp, normalement, il devrait ne rendre QUE le fichier 00001.tmp.  
Pourtant, quand je passe cette chaine à rechercher à FindFirstFile, il me sort les 2 fichiers. Il se trouve que ça m'emmerde bien. qqn a une expliquation à ça ? Peut être même une solution ?

mood
Publicité
Posté le 01-10-2003 à 14:55:15  profilanswer
 

n°527830
gatorette
Posté le 01-10-2003 à 14:58:12  profilanswer
 

J'ai peut être une explication :
Tout fichier Windows devant avoir une extension, ton fichier 00001 est en fait un fichier 00001. et répond donc à l'exigence 00001.* (rechercher tous les fichiers qui ont comme nom 00001 et n'importe quelle extension).


---------------
each day I don't die is cheating
n°527831
El_gringo
Posté le 01-10-2003 à 15:00:07  profilanswer
 

gatorette a écrit :

J'ai peut être une explication :
Tout fichier Windows devant avoir une extension, ton fichier 00001 est en fait un fichier 00001. et répond donc à l'exigence 00001.* (rechercher tous les fichiers qui ont comme nom 00001 et n'importe quelle extension).


 
T'as peut être raison. ça voudrait donc dire que le comportement est "normal", et que je n'ai pas de solution... :(

n°527844
El_gringo
Posté le 01-10-2003 à 15:14:57  profilanswer
 

Ha mais non, c'est pas l'expliquation en fait, c'est pas possible :
si j'utilise 00001.?*, il me rend encore les 2 fichier (dont celui "sans" extention).
Alors que ce masque veut dire : tous les fichiers commençant par 00001. puis un caractère, puis 0 à une infinité de caractères. :(

n°527878
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-10-2003 à 15:47:14  profilanswer
 

C'est "normal" que ça prenne les deux fichiers, en DOS et en ligne de commande NT ça fait pareil.
C'est vrai que c'est bizarre que le "?" en fin de nom se comporte comme un "pas de caractère ou 1 caractère", mais c'est comme ça [:spamafote] Le comportement du * comme extension ne me surprend pas vu qu'en DOS/Windows l'extension a une signification plus grande qu'en Unix/Linux/Mac/...

n°527963
El_gringo
Posté le 01-10-2003 à 17:12:25  profilanswer
 

antp a écrit :

C'est "normal" que ça prenne les deux fichiers, en DOS et en ligne de commande NT ça fait pareil.
C'est vrai que c'est bizarre que le "?" en fin de nom se comporte comme un "pas de caractère ou 1 caractère", mais c'est comme ça [:spamafote] Le comportement du * comme extension ne me surprend pas vu qu'en DOS/Windows l'extension a une signification plus grande qu'en Unix/Linux/Mac/...


 
Ouais, on peut appeler ça un bug quoi !
Bref, je m'suis débrouillé en énumérant les fichiers et en filtran moi même ceux qui ont une extention, et ceux qui n'en ont pas.
Merci qd même...

n°527991
antp
Super Administrateur
Champion des excuses bidons
Posté le 01-10-2003 à 17:33:32  profilanswer
 

El_gringo a écrit :


 
Ouais, on peut appeler ça un bug quoi !


 
la logique existe depuis la première version du DOS, ils vont pas changer en cours de route [:spamafote]

n°528153
ToxicAveng​er
Posté le 01-10-2003 à 20:37:35  profilanswer
 

El_gringo a écrit :


 
Ouais, on peut appeler ça un bug quoi !
Bref, je m'suis débrouillé en énumérant les fichiers et en filtran moi même ceux qui ont une extention, et ceux qui n'en ont pas.
Merci qd même...


 
no, it's a feature [:aloy]

n°528990
El_gringo
Posté le 02-10-2003 à 09:14:14  profilanswer
 

antp a écrit :


 
la logique existe depuis la première version du DOS, ils vont pas changer en cours de route [:spamafote]


 
...j'vois pas où est la logique là dedant.
D'un côté, ils inventent les wilcards, il permettent de les utiliser pour rechercher des fichiers, mais dans le cas que j'viens d'énoncer, les wilcards sont interprètés faussement. Moi j'appelle ça un bug. Volontairement maintenu, peut être, mais un bug ! :o

n°529032
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-10-2003 à 09:54:47  profilanswer
 

El_gringo a écrit :


 
...j'vois pas où est la logique là dedant.


 
j'ai pas dit que c'était logique, j'ai dit que cette logique là existait depuis le début du DOS :p
Le "?" qui foire c'est un bug, mais le .* qui retourne les trucs sans extensions je vois pas ça comme un bug. * veut dire aussi "rien" donc les fichiers avec "rien" comme extension sont retournés aussi


Message édité par antp le 02-10-2003 à 09:55:46
mood
Publicité
Posté le 02-10-2003 à 09:54:47  profilanswer
 

n°529036
El_gringo
Posté le 02-10-2003 à 10:01:54  profilanswer
 

antp a écrit :


 
j'ai pas dit que c'était logique, j'ai dit que cette logique là existait depuis le début du DOS :p
Le "?" qui foire c'est un bug, mais le .* qui retourne les trucs sans extensions je vois pas ça comme un bug. * veut dire aussi "rien" donc les fichiers avec "rien" comme extension sont retournés aussi


 
J'ai pas dit le contraire. N'empêche que le coup du "?", c un bug !

n°529042
LetoII
Le dormeur doit se réveiller
Posté le 02-10-2003 à 10:05:14  profilanswer
 

El_gringo a écrit :


 
...j'vois pas où est la logique là dedant.
D'un côté, ils inventent les wilcards, il permettent de les utiliser pour rechercher des fichiers, mais dans le cas que j'viens d'énoncer, les wilcards sont interprètés faussement. Moi j'appelle ça un bug. Volontairement maintenu, peut être, mais un bug ! :o  


 
Ben pas vraiment, *.* ayant depuis tjrs désigné tous les fichiers avec ou sans extension  [:spamafote]


---------------
Le Tyran
n°529050
El_gringo
Posté le 02-10-2003 à 10:14:31  profilanswer
 

LetoII a écrit :


 
Ben pas vraiment, *.* ayant depuis tjrs désigné tous les fichiers avec ou sans extension  [:spamafote]  


 
... à bon ?
Moi quand je vais dans la "recherche de fichiers" de Windows (XP). Avec *.*, il me sort QUE les fichiers avec extention !

n°529055
LetoII
Le dormeur doit se réveiller
Posté le 02-10-2003 à 10:17:11  profilanswer
 

El_gringo a écrit :


 
... à bon ?
Moi quand je vais dans la "recherche de fichiers" de Windows (XP). Avec *.*, il me sort QUE les fichiers avec extention !


 
Ben essaye un del *.* dans la console tu verra.  [:spamafote]


---------------
Le Tyran
n°529092
El_gringo
Posté le 02-10-2003 à 10:47:11  profilanswer
 

C'est là le problème du bug : un comportement hasardeux.

n°529160
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-10-2003 à 11:53:21  profilanswer
 

El_gringo a écrit :


Moi quand je vais dans la "recherche de fichiers" de Windows (XP). Avec *.*, il me sort QUE les fichiers avec extention !


 
C'est qu'ils ont corrigé le "bug" dans l'Explorateur mais pas dans l'API, par soucis de compatibilité avec les anciens softs [:ddr555]
Ce que dit LetoII est vrai, *.* a toujours désigné tous les fichiers. XP l'a peut-être changé, mais c'est donc un changement tout récent, dans les anciens Windows c'était pas comme ça.

n°529163
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-10-2003 à 11:53:45  profilanswer
 

El_gringo a écrit :


N'empêche que le coup du "?", c un bug !


 
C'est exactement ce que j'ai dit dans ce que t'a quoté :o

n°529192
LetoII
Le dormeur doit se réveiller
Posté le 02-10-2003 à 12:37:27  profilanswer
 

antp a écrit :


 
C'est qu'ils ont corrigé le "bug" dans l'Explorateur mais pas dans l'API, par soucis de compatibilité avec les anciens softs [:ddr555]
Ce que dit LetoII est vrai, *.* a toujours désigné tous les fichiers. XP l'a peut-être changé, mais c'est donc un changement tout récent, dans les anciens Windows c'était pas comme ça.

J'ai testé sous XP avant de m'avancer ;)


---------------
Le Tyran
n°529195
antp
Super Administrateur
Champion des excuses bidons
Posté le 02-10-2003 à 12:39:20  profilanswer
 

LetoII a écrit :

J'ai testé sous XP avant de m'avancer ;)


 
Quand je disais "XP l'a peut-être changé" je parle de la recherche dans l'explorateur. Vu que je n'utilise jamais cette recherche-là et que j'ai pas XP ici au boulot je n'en savais rien ;)

n°529200
LetoII
Le dormeur doit se réveiller
Posté le 02-10-2003 à 12:45:49  profilanswer
 

antp a écrit :


 
Quand je disais "XP l'a peut-être changé" je parle de la recherche dans l'explorateur. Vu que je n'utilise jamais cette recherche-là et que j'ai pas XP ici au boulot je n'en savais rien ;)


 
Ha ça c possible


---------------
Le Tyran
n°529279
HelloWorld
Salut tout le monde!
Posté le 02-10-2003 à 14:27:45  profilanswer
 

Citation :

D'un côté, ils inventent les wilcards, il permettent de les utiliser pour rechercher des fichiers, mais dans le cas que j'viens d'énoncer, les wilcards sont interprètés faussement. Moi j'appelle ça un bug. Volontairement maintenu, peut être, mais un bug !


 
Ca porte le nom de "backward comBUGability". :)
Un (des très rares, voire le seul ?) article sur le sujet :
http://www.codeguru.com/files/CAdvFind.html


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°529289
El_gringo
Posté le 02-10-2003 à 14:48:14  profilanswer
 

HelloWorld a écrit :

Citation :

D'un côté, ils inventent les wilcards, il permettent de les utiliser pour rechercher des fichiers, mais dans le cas que j'viens d'énoncer, les wilcards sont interprètés faussement. Moi j'appelle ça un bug. Volontairement maintenu, peut être, mais un bug !


 
Ca porte le nom de "backward comBUGability". :)
Un (des très rares, voire le seul ?) article sur le sujet :
http://www.codeguru.com/files/CAdvFind.html
 


 
Ouais, enfin, c'est le gars qui à écrit l'article qui appelle ça comme ça...
Mais, merci pour l'explication.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  API Win32 : FindFirstFile merde avec les Wilcards ?

 

Sujets relatifs
API Windows cryptographie[C/C++ Win32] Arrêt du support des MFC...
Utilisation de MB_HELP pour les MessageBox de l'API Win32[Win32]Comment retrouver l'icône associée à une extension de fichier ?
[Win32] animation controlAppel d'API en laissant la main à l'utilisateur
[PHP] ftp_chdir() et win32API C de MySQL: fuite de mémoire
(win32) classe dans une dll 
Plus de sujets relatifs à : API Win32 : FindFirstFile merde avec les Wilcards ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR