Chercher un repertoire

MrKribou Messages postés 21 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 8 novembre 2002 - 25 août 2002 à 02:02
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 - 29 août 2002 à 10:31
comment faire pour chercher le path couplet d'un repertoire a partir d'attributs comme le nom du repertoire a chercher (ex : mesdocument) ou bien encore a partir d'un document present dans ce repertoire. (mais je prefererai la premiere solution dans mon cas :))
Merci en tk !

6 réponses

cs_spirit Messages postés 27 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 7 janvier 2003
26 août 2002 à 01:03
tu peux le faire avec FindFirstFile et FindNextFile en utilisant le mask DIRECTORY (ou un truc dans le style)
regarde dans l'aide pour savoir comment les utiliser
0
MrKribou Messages postés 21 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 8 novembre 2002
28 août 2002 à 03:32
Ok merci ! ca a l'air de marcher mais j'ai un autre probleme (ahhh quand on est debutant on bloque toute les deux minutes *soupir*)

Donc la fonction FindFirstFile et FindNextFile en utilisant l'attribut FILE_ATTRIBUTE_DIRECTORY, j'arrive a obtenir le repertoire mais qui est de type TCHAR, et la j'ai tout essayer mais pas moyen de reussir a le comparer avec une chaine que je veux.

Faut que j'utilise quoi pour savoir si la chaine est la meme ?

Et j'en profite pour poser une question plus theorique,
si on alloue une chaine char machaine[MAX_PATH] par exemple, et qu'ensuite cette chaine vaut "blabla", la taille de machaine vaut encore MAX_PATH ou vaut 6 (ou 7 chais plus) ?

Bientot jle promets c moi qui repondrai aux questions :)
0
MrKribou Messages postés 21 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 8 novembre 2002
28 août 2002 à 03:33
Ok merci ! ca a l'air de marcher mais j'ai un autre probleme (ahhh quand on est debutant on bloque toute les deux minutes *soupir*)

Donc la fonction FindFirstFile et FindNextFile en utilisant l'attribut FILE_ATTRIBUTE_DIRECTORY, j'arrive a obtenir le repertoire mais qui est de type TCHAR, et la j'ai tout essayer mais pas moyen de reussir a le comparer avec une chaine que je veux.

Faut que j'utilise quoi pour savoir si la chaine est la meme ?

Et j'en profite pour poser une question plus theorique,
si on alloue une chaine char machaine[MAX_PATH] par exemple, et qu'ensuite cette chaine vaut "blabla", la taille de machaine vaut encore MAX_PATH ou vaut 6 (ou 7 chais plus) ?

Bientot jle promets c moi qui repondrai aux questions :)
0
cs_spirit Messages postés 27 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 7 janvier 2003
28 août 2002 à 10:59
ben deja, une petite precision sur le mask FILE_ATTRIBUTE_DIRECTORY, pour l'utiliser correctement, utilise un "et" logique:
if(wfd.FileAttribute && FILE_ATTRIBUTE_DIRECTORY)
{
fonction;
}

wfd = la structure WIN32FILEDATA

sinon, la taille de la chaine reste MAX_PATH meme si le nom de fichier est plus petit mais l'interet et que tu peux changer le nom de fichier a la volé sans réatribuer de la mémoire, en plus de ca, c'est suremnt pas la plus grande perte de mémoire!

pour comparer le nom de fichier, tu peux utiliser (je pense):
if(!strcmp(nom de ton fichier, wfd.FileName))
{
fonction;
}

strcmp retourne 0 si les 2 chaines sont identiques
il faut inclure string.h

bon voila je pense avoir répondu à tes questions
j'ai tout fais de tete donc y'a peut etre quelques fautes de synthaxe!

bon continuation!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MrKribou Messages postés 21 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 8 novembre 2002
29 août 2002 à 01:58
J'ai essayer la condition wfd.FileAttribute && FILE_ATTRIBUTE_DIRECTORY et la il ne me filtre rien du tout alors que si je met l'operateur == comme j'avais fait ca marche. c'est koi le probleme ?
J'aime pas que mes programmes marchent alors sans comprendre :p

Merci pour les infos supplementaire.
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
29 août 2002 à 10:31
En fait, ce n'est pas un "Et logique" (&&) que tu dois utiliser, mais un "Et binaire" (&).

if((wfd.FileAttribute & FILE_ATTRIBUTE_DIRECTORY)==FILE_ATTRIBUTE_DIRECTORY)
{
fonction;
}
0
Rejoignez-nous