lister le contenu d'un repertoire en C sous windows Xp
3 réponses
Hervé
Bonjour,
je souhaite créer un tableau et y stocker tous les fichiers d'un repertoire
donné.
Bon le problème c'est que je suis sous windows et que je sais pas comment il
faut procéder...
bon je suppose que je dois utiliser une librairie du genre windowhs.h ou
win******.h.
sauf qu'avec dev-C++, y en a pas mal des librairies comme ca, et puis je
sais pas si une telle fonction existe ou si y a déjà des fonction qui
peuvent aider un petit peu.
Pour ce qui est d'Internet je ne dispose pas de sites avec des programmes en
C, donc si vous en aviez pour moi .... Merci
Tu as un exemple complet à télécharger sur : http://bipcpp.free.fr/fr/bipgdi/ListFile-v090.zip
Pierre Maurette
"Hervé" <news.free.fr> typa:
Bonjour, je souhaite créer un tableau et y stocker tous les fichiers d'un repertoire donné.
Ce ne serait pas plutôt leur nom que vous souhaitez mettre en tableau?
Bon le problème c'est que je suis sous windows et que je sais pas comment il faut procéder... bon je suppose que je dois utiliser une librairie du genre windowhs.h ou win******.h.
windows.h, qui lui même inclut d'autres fichiers d'en-tête. Il vous suffisait de créer un nouveau projet Windows (ou WinMain()) avec le wizard dans l'EDI DevC++ pour avoir la réponse ;-)
sauf qu'avec dev-C++, y en a pas mal des librairies comme ca, et puis je sais pas si une telle fonction existe ou si y a déjà des fonction qui peuvent aider un petit peu.
Pour ce qui est d'Internet je ne dispose pas de sites avec des programmes en C, donc si vous en aviez pour moi .... Merci
Vous avez quelques exemples dans DevC++, qui ont l'avantage de fonctionner (sauf ceux utilisant GTK peut-être).
Il y a à votre problème une solution C "presque standard", étant entendu qu'elle ne peut pas l'être absolument. Ce sont les fonctions _findfirst(), _findnext() et _findclose() de io.h (en fait, dir.h, qui inclut io.h). Je suppose qu'on les retrouve plus ou moins (avec ou sans le _ initial) dans la plupart des implémentations, en tout cas sous DOS/Windows. Pour la doc, Google si la lecture du .h ne suffit pas.
Bien entendu, elles appellent les fonctions Windows FindFirstFile(), FindNextFile() et FindClose(), mais peu importe.
Attention, la solution en simple C n'est pas simple : vous passez à findfirst() et findnext() un pointeur sur une structure qui contient un tableau de (260) char, à remplir par la fonction, donc pouvant accueillir une chaîne de 259 caractères. Vous devrez gérer un tableau d'un nombre de ces chaînes, nombre non connu à la compilation ni même avant la fin du traitement. C'est strictement la même chose avec les fonctions API Windows. Les bibliothèques standard du C++ vous aideraient certainement. En fait, vous avez plusieurs approches possibles, C, C99 et C++. -- Pierre
"Hervé" <news.free.fr> typa:
Bonjour,
je souhaite créer un tableau et y stocker tous les fichiers d'un repertoire
donné.
Ce ne serait pas plutôt leur nom que vous souhaitez mettre en tableau?
Bon le problème c'est que je suis sous windows et que je sais pas comment il
faut procéder...
bon je suppose que je dois utiliser une librairie du genre windowhs.h ou
win******.h.
windows.h, qui lui même inclut d'autres fichiers d'en-tête.
Il vous suffisait de créer un nouveau projet Windows (ou WinMain())
avec le wizard dans l'EDI DevC++ pour avoir la réponse ;-)
sauf qu'avec dev-C++, y en a pas mal des librairies comme ca, et puis je
sais pas si une telle fonction existe ou si y a déjà des fonction qui
peuvent aider un petit peu.
Pour ce qui est d'Internet je ne dispose pas de sites avec des programmes en
C, donc si vous en aviez pour moi .... Merci
Vous avez quelques exemples dans DevC++, qui ont l'avantage de
fonctionner (sauf ceux utilisant GTK peut-être).
Il y a à votre problème une solution C "presque standard", étant
entendu qu'elle ne peut pas l'être absolument.
Ce sont les fonctions _findfirst(), _findnext() et _findclose() de
io.h (en fait, dir.h, qui inclut io.h). Je suppose qu'on les retrouve
plus ou moins (avec ou sans le _ initial) dans la plupart des
implémentations, en tout cas sous DOS/Windows. Pour la doc, Google si
la lecture du .h ne suffit pas.
Bien entendu, elles appellent les fonctions Windows FindFirstFile(),
FindNextFile() et FindClose(), mais peu importe.
Attention, la solution en simple C n'est pas simple : vous passez à
findfirst() et findnext() un pointeur sur une structure qui contient
un tableau de (260) char, à remplir par la fonction, donc pouvant
accueillir une chaîne de 259 caractères. Vous devrez gérer un tableau
d'un nombre de ces chaînes, nombre non connu à la compilation ni même
avant la fin du traitement. C'est strictement la même chose avec les
fonctions API Windows. Les bibliothèques standard du C++ vous
aideraient certainement. En fait, vous avez plusieurs approches
possibles, C, C99 et C++.
--
Pierre
Bonjour, je souhaite créer un tableau et y stocker tous les fichiers d'un repertoire donné.
Ce ne serait pas plutôt leur nom que vous souhaitez mettre en tableau?
Bon le problème c'est que je suis sous windows et que je sais pas comment il faut procéder... bon je suppose que je dois utiliser une librairie du genre windowhs.h ou win******.h.
windows.h, qui lui même inclut d'autres fichiers d'en-tête. Il vous suffisait de créer un nouveau projet Windows (ou WinMain()) avec le wizard dans l'EDI DevC++ pour avoir la réponse ;-)
sauf qu'avec dev-C++, y en a pas mal des librairies comme ca, et puis je sais pas si une telle fonction existe ou si y a déjà des fonction qui peuvent aider un petit peu.
Pour ce qui est d'Internet je ne dispose pas de sites avec des programmes en C, donc si vous en aviez pour moi .... Merci
Vous avez quelques exemples dans DevC++, qui ont l'avantage de fonctionner (sauf ceux utilisant GTK peut-être).
Il y a à votre problème une solution C "presque standard", étant entendu qu'elle ne peut pas l'être absolument. Ce sont les fonctions _findfirst(), _findnext() et _findclose() de io.h (en fait, dir.h, qui inclut io.h). Je suppose qu'on les retrouve plus ou moins (avec ou sans le _ initial) dans la plupart des implémentations, en tout cas sous DOS/Windows. Pour la doc, Google si la lecture du .h ne suffit pas.
Bien entendu, elles appellent les fonctions Windows FindFirstFile(), FindNextFile() et FindClose(), mais peu importe.
Attention, la solution en simple C n'est pas simple : vous passez à findfirst() et findnext() un pointeur sur une structure qui contient un tableau de (260) char, à remplir par la fonction, donc pouvant accueillir une chaîne de 259 caractères. Vous devrez gérer un tableau d'un nombre de ces chaînes, nombre non connu à la compilation ni même avant la fin du traitement. C'est strictement la même chose avec les fonctions API Windows. Les bibliothèques standard du C++ vous aideraient certainement. En fait, vous avez plusieurs approches possibles, C, C99 et C++. -- Pierre