comment faire pour lister un dossier ? [C++] - Programmation
Marsh Posté le 24-08-2001 à 13:48:31
Oui va voir du côté des fonctions FindFirstFile() FindNextFile()
Marsh Posté le 24-08-2001 à 14:24:02
H4dd3R a raison!!!
C relatif aux fichiers, donc va voir la doc les concernant.
Je connaissais pas avt (je suis pas du tt 1 pro de la prog win), ms avec l'aide, j'ai fait ça en 5 min:
#include <iostream.h>
#include <windows.h>
#include <stdio.h>
#include <dos.h>
main() {
HANDLE fich;
WIN32_FIND_DATA fichinfo;
int i=0;
fich = FindFirstFile("*",&fichinfo);
cout << "\nFichier " << i << " : " << fichinfo.cFileName;
while (true) {
i++;
if (!FindNextFile(fich,&fichinfo)) break;
cout << "\nFichier " << i << " : " << fichinfo.cFileName;
}
FindClose(fich);
getchar();
}
Bonne lecture!!!
PS: ce prog liste le repertoire courant; si tu veux en lister 1 autre, fo changer de repertoire courant via une API dont je me souviens plus du nom (surement 1 truc du genre ChangeCurrentDirectory)
[edtdd]--Message édité par electricblue--[/edtdd]
Marsh Posté le 24-08-2001 à 16:15:53
Non FindFirstFile accepte direct en paramêtre le répertoire voulu si je me souviens bien..
Mais va voir la doc c vraiment pas dûr..
Marsh Posté le 24-08-2001 à 18:11:00
Merci beaucoup c vraiment sympa...c vrai ke c simple...
mais par contre pour lister les sous-repertoires je n'ai pas trouvé une fonction comme FindFirstDirectory et FindNextDirectory......
Marsh Posté le 24-08-2001 à 18:35:55
Oui c vrai.. Comme j´ai jamais eu besoin de le faire désolé je sais pas..
Marsh Posté le 24-08-2001 à 18:50:36
Pr les sous-rep, ya 1 champ ds la structure WIN32_FIND_DATA qui te dit si c 1 rep ou pas.
Va voir la doc "win32.hlp" pr plus de détail.
Marsh Posté le 26-08-2001 à 23:51:09
sauf que ca c'est un poil mieux
int scan (void)
{
BOOL encore=TRUE;
int ret=0;
CFileFind find;
encore=find.FindFile();
while (encore)
{
encore=find.FindNextFile();
if (!find.IsDots())
if (find.IsDirectory())
{
_chdir ( LPCTSTR(find.GetFilePath()));
scan ();
_chdir (".." );
}
else
{
cout<<find.GetFilePath()<<endl;
}
}
return 0;
}
Marsh Posté le 27-08-2001 à 09:44:28
aqwsezsxdr > surement, j'en sais rien en fait...
Sinon, vu que t'as l'r de t'y connaitre, tu pourrai pas jeter 1 coup d'oeil à mon topic sur les interruption?? Je le up rien que pr toi!!
Marsh Posté le 24-08-2001 à 12:45:40
je voudrais une instruction qui soit capable de me recenser touts les fichiers et sous-dossiers contenus dans un dossier, afin de les stocker dans un tableau par exemple, ou de les afficher à l'écran, comme si on avait tapé "dir"...
pour l'instant j'ai fait un truc de barbare qui marche certes mais qui est super lent et méga lourd : le pgm génère tous les noms possibles de fichiers et sous-dossiers, essaye d'y accéder, et retourne une valeur ki me dit si ca existe ou pas..... vous avez compris le bourinage par excellence....
MEECI DE M'AIDER.......