Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lister le contenu d'un repertoire en C sous windows Xp

3 réponses
Avatar
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

Merci d'avance

Hervé

3 réponses

Avatar
Christian ASTOR
Hervé a écrit:

je souhaite créer un tableau et y stocker tous les fichiers d'un repertoire
donné.



Et tu as cherché ?
J'en doute...
Google Groups => liste fichiers répertoire programmation
=> réponse en 0.40 secondes

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



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/findfirstfile.asp
Avatar
bipcpp
Tu as un exemple complet à télécharger sur :
http://bipcpp.free.fr/fr/bipgdi/ListFile-v090.zip
Avatar
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