1

Est-il possible de lister le contenu d'un répertoire de manière indépendante de la plateforme ??
Sinon sous windows que proposez vous de simple ?

Par exemple j'aimerais que mon programme lise tous les fichiers .mp3 d'un certain dossier.

Merci.
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

2

Il me semble que readdir() & co sont sont compilable pour plusieurs plateformes... (prototypes identiques ou alors à vraiment peu de choses près)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

3

Ça s'appelle dirent.h, et pour Windows, c'est inclus dans MinGW.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

Et pour Windows sous VC++:
	WIN32_FIND_DATA wData;
	HANDLE listing;
	listing=FindFirstFile("C:\",&wData);

	while((FindNextFile(listing,&wData)))
	{
		//...
	}

5

Beurk le code non-portable... dirent.h est POSIX (mais quand-même géré par MinGW aussi), lui.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

réponse a une de ses questions.

7

Bah, sous Windows, il y a dirent.h qui marche très bien avec MinGW. Donc mon message répondait aux 2 questions. tongue
moitib
: Est-il possible de lister le contenu d'un répertoire de manière indépendante de la plateforme ??

Oui, dirent.h.
Sinon sous windows que proposez vous de simple ?

dirent.h (sous MinGW).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

Le terme "plateforme" ne se limite pas forcément au système d'exploitation... Cela dit il y a sûrement des libs externes qui font ça sous Visual C++ aussi ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

9

Pollux
: Le terme "plateforme" ne se limite pas forcément au système d'exploitation...

Bah, c'est du POSIX, donc c'est utilisable avec n'importe quel compilateur Unix.
Il n'y a que M$WC qui pose problème.
Cela dit il y a sûrement des libs externes qui font ça sous Visual C++ aussi ^^

Bah, il suffit de récupérer les fichiers de MinGW...
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/include/dirent.h?rev=1.9&view=log
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/mingwex/dirent.c?rev=1.5&view=log
Mais je ne vois pas trop l'intérêt d'utiliser un compilateur techniquement inférieur quand il y a un compilateur gratuit et libre qui est meilleur.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

Kevin Kofler
:
Pollux
: Le terme "plateforme" ne se limite pas forcément au système d'exploitation...

Bah, c'est du POSIX, donc c'est utilisable avec n'importe quel compilateur Unix. Il n'y a que M$WC qui pose problème.

Et ?
Cela dit il y a sûrement des libs externes qui font ça sous Visual C++ aussi ^^

Bah, il suffit de récupérer les fichiers de MinGW...
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/include/dirent.h?rev=1.9&view=log
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/mingwex/dirent.c?rev=1.5&view=log

OK, y a pas plus de dépendances que ça ? smile
Mais je ne vois pas trop l'intérêt d'utiliser un compilateur techniquement inférieur quand il y a un compilateur gratuit et libre qui est meilleur.

Evidemment, la vitesse de compilation, l'existence d'un débugger efficace (qui supporte même le edit-and-continue), la capacité de générer plein de métadonnées utiles (auto-complétion/navigation...), ou encore la compatibilité avec les projets VC-only ne comptent pas ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

Pollux :
OK, y a pas plus de dépendances que ça ? smile

Bah, regarde...
Et il y a aussi d'autres implémentations public domain, il suffit de chercher un peu.
la vitesse de compilation

On s'en fout, c'est le résultat qui compte.
l'existence d'un débugger efficace

GDB marche très bien. Comme interface graphique, ben il y a Insight, Dev-C++ 5 etc.
(qui supporte même le edit-and-continue)

Et bonjour la qualité du code généré. roll
Un bon compilateur ne peut pas permettre d'éditer une source sans recompiler le programme entier, on ne peut pas optimiser correctement si on doit permettre de changer n'importe quelle ligne.
la capacité de générer plein de métadonnées utiles (auto-complétion/navigation...),

Dev-C++ 5 gère ce genre de trucs aussi.
ou encore la compatibilité avec les projets VC-only

Bah, je ne vois pas l'intérêt de faire un projet M$WC only non plus. Pourquoi limiter son projet à un compilateur pourri?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

J'ai pas du tout envie de répondre à tes trolls qui sont complètement à côté de la plaque, en tout cas pour ce qui est de DevCpp la dernière fois que j'avais essayé ça m'avait semblé complètement nul, mais je re-regarderai si j'ai le temps...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

Un compilateur pourri hein ... tu me feras toujours rire KK

14

Merci pour le troll lol smile

Pour l'instant je code windows portable linux donc je vais voir dirent.h
Merci.
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

15

la vitesse de compilation
On s'en fout, c'est le résultat qui compte.

t'es vraiment un comique hein wink
perso ca me les brise profondement de devoir attendre 10 minutes une recompil quand je suis en train de changer un .h general ou en train de debug un truc, ou peu importe quoi d'autre. donc t'es gentil mais non on s'en fout pas...
(qui supporte même le edit-and-continue)

Et bonjour la qualité du code généré. roll

t'es con ou tu le fais expres? c'est pour du debug ca hein... t'as deja eu la curiosite de regarder les immondices que te sort gcc quand tu compile avec les flags de debug, gdb & co?
Pourquoi limiter son projet à un compilateur pourri?

trioui, ne limitons pas nos projets a gcc! trioui
le seul truc (ou un des seuls) que je repproche au compilateur de VC (qui s'ameliore continuellement, pas comme GCC qui stagne voire meme se degrade d'un point de vue features), c'est du cote du preprocesseur et de l'impossibilite d'utiliser des macros avec va_args... (j'espere qu'ils vont se decider a le rajouter...) ou en tt cas j'ai pas trouve comment faire...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

16

vc mauvais,...
ce KK nous fera toujours rire...
en plus je connais pas M$WC
tu pourrais même dire |V|$\A/( ça ferait encore plus gros con
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

17

(j'avais completement oublie qu'il etait ban de yn, dsl grin)
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

18

ouais mais il peut toujours lire
...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

19

Bon pour revenir à la question de départ, voici un dirent.h natif (.h + .lib statique) pour le compilo de billou. Je l'avais trouvé quelque part sur le net mais je sais plus où.

20

J'avais trouvé une autre implémentation sans .lib qui marche bien.

Sinon, pour savoir si les entrées trouvées sont fichiers ou dossier, on teste un opendir et si ca marche c'est un dossier en gros ? ou alors il skippe les dossiers (j'ai pas encore essayé ca).
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

21

Oué, c'est une solution qui marche. La fonction opendir renvoie NULL en cas d'erreur, et si c'est parce que le fichier n'est pas un répertoire, errno vaut ENOTDIR.

22

ouai, mais bon c'est pas super propre non plus...
man stat > regarde st_modes