Vous n'êtes pas identifié.
a tu reste sur ton projet finalement?
ben je crois que les pro des explo vont t'expliquer ..
perso g jamais fait donc je peux pas trop te dire ...
en gros ct un post pour rien ..
lol
Hors ligne
les fonctions findfirst et findnext de dos.h devraient suffire... A moins que tu souhaites une meilleure gestion des dossiers, dans ce cas il y a d'autres fonctions utiles
Hors ligne
j'ai déjà lu ça dans un tutos je croi ... mais lequel ?
Hors ligne
Hey, TC3 est peut-etre ch** à utiliser, mais son aide est très complète :P
Hors ligne
elle est pas online dans mon installeur, j'ai pompé tous les fichiers (voir sujet sur digital mars)
mais par contre elle est en anglais
Hors ligne
fo utiliser les fonctions standard Dirent, c des fts ke marchent sur tout plateformes dont la g100 !
Hors ligne
Bon alors voila tout ce kil fo savoir:
avec digital mars: tu utilise findfirst et findnext. perso je ne sais pas koment les utiliser pour scanner des dossiers. je trouve ke c un peu de la merde. enfin bon...
avec TurboC et DevC++ : opendir et readdir. se sont des fonction issue du monde linux. super utile, super pratique qui se trouve dans dirent.h
utilise l'aide de turboC pour apprendre à les utiliser. les exemples sont géniaux.
Hors ligne
en mettant des guillemets autour de tes chaines de char, ca ira peut-etre mieux
Hors ligne
pour scanner les dossiers avec findfirst et findnext y'a qu'à dire à findfirst qu'ont veut aussi les dossiers:
findfirst(path,&ff,FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_ARCH|FA_DIREC);
avec path égal à un truc du genre "c:\windows\*.exe"
Hors ligne
oui mais ca c'est pour trouver les noms de dossier, pas pour les explorer... Je pense effectivement que la recherche de fichiers présents dans des dossiers est moins facile avec findfirst et findnext
Hors ligne
:?: :?: :?: avant "d'explorer" (windows t'a marqué toi lol) un dossier faut bien que tu trouves son nom de toute façon...
une fois que t'as le nom tu change path avec du genre "c:\windows\dossiertrouvé\*.exe" et tu recommence...
je ne vois pas pourquoi tu trouves que c'est moins facile, bien au contraire puisque tu peux utiliser les caractères "?" et "*" pour trouver les fichiers !
Hors ligne
et vive la recursivité...
en C++ avec le compilateur Digital Mars, une fonction qui construit une liste style dirxplor:
#include <vector> #include <string> using namespace std; #include <dos.h> void explore(const string & base_path, const string & wildcard, vector<string> & files); { struct FIND *f; string pathname = base_path + wildcard; if(f = findfirst(pathname.c_str(), _A_RDONLY|_A_HIDDEN|_A_SYSTEM|_A_ARCH|_A_SUBDIR) { do { if(f->attribute&_A_SUBDIR) explore(base_path+f->name+"\",wildcard,files); else files.push_back(base_path+f->name); } while(f = findnext()); } }
voila qui devrait fonctionner.
c'est assez simple non ? ya pas besoin de connaitre le C++ et la STL pour comprendre l'algo.
mais bon déja je vais essayer de preparer un nouveau pack digital mars + STL lol.
Hors ligne
j'adore les fonctions récurcives :mrgreen: Quand on a trouvé la fonction idéal c'est toujours simple et tellement efficace !
Hors ligne
C vrai que c pratique :mrgreen:
par contre parfois c loin d'etre efficace!
Hors ligne