[C] lister les fichiers présents dans un répertoire

lister les fichiers présents dans un répertoire [C] - C - Programmation

Marsh Posté le 29-02-2004 à 18:16:16    

salut, je voudrait juste savoir si il y a un moyen en C de lister les fichiers présents dans un répertoire
 
++


Message édité par captainneuneu le 29-02-2004 à 18:24:58
Reply

Marsh Posté le 29-02-2004 à 18:16:16   

Reply

Marsh Posté le 29-02-2004 à 18:28:34    

le C ne sais pas ce qu'est un répertoire
 
man opendir/readdir/closedir

Reply

Marsh Posté le 29-02-2004 à 18:44:22    

Taz a écrit :

le C ne sais pas ce qu'est un répertoire
 
man opendir/readdir/closedir


 
 :cry:  je suis sous win, j'ai pas accès au man
mais je vais essayer de trouver des trucs en rapport avec ce que t'as  indiqué
 
merci

Reply

Marsh Posté le 29-02-2004 à 18:49:28    

captainneuneu a écrit :


 
 :cry:  je suis sous win, j'ai pas accès au man
mais je vais essayer de trouver des trucs en rapport avec ce que t'as  indiqué
 
merci

alors pleure oui  
 
y en a marre de ces mecs qui disent pas tout

Reply

Marsh Posté le 29-02-2004 à 18:52:24    

concretement, c compilable ou pas sous vc++ ?
j'ai trouvé pas mal de choses au sujet de ces fonctions, mais j'aimerais savoir si ca va marcher avant de passer 1 h a coder..

Reply

Marsh Posté le 29-02-2004 à 18:56:04    

tu peux pas aller lire ta MSDN comme tous les amoureux de windoseries ?

Reply

Marsh Posté le 29-02-2004 à 18:57:23    

t'inquiete que c deja fait, mais ya aucune info la dessus.
mais bon, a priori, c une libraurie standard donc pas de probleme
je vais tester et voir si j'arrive a un résultat

Reply

Marsh Posté le 29-02-2004 à 18:57:56    

API FindFirst() FindNext(), en 32 bits, y a peut-être plus moderne (?).

Reply

Marsh Posté le 29-02-2004 à 19:01:33    

pas de chance, vc++ ne connait pas dirent.h, qui contient readdir, opendir, etc..
je sais pas comment faire
carbon_14, c'est du C++ ce que tu me dis la non ?

Reply

Marsh Posté le 29-02-2004 à 19:04:32    

captainneuneu a écrit :

pas de chance, vc++ ne connait pas dirent.h, qui contient readdir, opendir, etc..
je sais pas comment faire
carbon_14, c'est du C++ ce que tu me dis la non ?

aucune différence sous windows,

Reply

Marsh Posté le 29-02-2004 à 19:04:32   

Reply

Marsh Posté le 29-02-2004 à 19:10:28    

le probleme c'est que c pour un projet demandé a mon école et que si j'ajoute des librairies a mon vc++, je ne pourrai pas faire la demo correctement le jour de la soutenance de projet.
je vais donc me resigner a utiliser un truc tout moche : system("dir" )
tant pis

Reply

Marsh Posté le 29-02-2004 à 19:13:59    

captainneuneu a écrit :

le probleme c'est que c pour un projet demandé a mon école et que si j'ajoute des librairies a mon vc++, je ne pourrai pas faire la demo correctement le jour de la soutenance de projet.
je vais donc me resigner a utiliser un truc tout moche : system("dir" )
tant pis

ignoble
 
qu'est ce que tu veux faire une soutenance si t'es pas capable de lire la documentation de MS ...

Reply

Marsh Posté le 29-02-2004 à 19:16:14    

a moins que la msdn installé sur mon pc ne soit pas complete, elle ne mentionne jamais opendir... et dirent.h

Reply

Marsh Posté le 29-02-2004 à 19:18:33    

putain mais t'es bête ou quoi ? tu demandes dans le vide, moi je réponds comme ça .... ça n'existe pas sous win****  
 
 
:o :o :o :o :o :o :o :o: lmo

Reply

Marsh Posté le 29-02-2004 à 19:22:52    

en fait, sur le site de MSDN, j'ai trouvé une doc recapitulant les equivalences UNIX/WIN
 
je pense avoir trouvé ce qu'il me faut

Reply

Marsh Posté le 29-02-2004 à 19:26:11    

t'en a quoi à faire de la portabilité ? fais des windowseries et voilà

Reply

Marsh Posté le 29-02-2004 à 19:43:20    

si ca interesse quelqu'un, j'ai abouti a ca, et ca fonctionne impec :

Code :
  1. #include <windows.h>
  2. BOOL parse(void)
  3. {
  4.     WIN32_FIND_DATA File;
  5.     HANDLE hSearch;
  6.     BOOL re;
  7.     int iNum=0;
  8.     hSearch=FindFirstFile("*.dat", &File);
  9.     if (hSearch == INVALID_HANDLE_VALUE)
  10.     {
  11.         fprintf(stdout,"\n\t\t\tAucun repertoire existant" );
  12.         return FALSE;
  13.     }
  14.    
  15.     re=TRUE;
  16.     do
  17.     {
  18.         iNum++;
  19.         fprintf(stdout,"\n\t\t\t%d. %s",iNum,File.cFileName);
  20.         /* Traitement */
  21.         re = FindNextFile(hSearch, &File);
  22.        
  23.     } while (re);
  24.     FindClose(hSearch);
  25.     return TRUE;
  26. }


Message édité par captainneuneu le 29-02-2004 à 19:43:41
Reply

Marsh Posté le 29-02-2004 à 19:46:46    

j'adore les mecs qui concoivent le retour à la ligne en début de ""

Reply

Marsh Posté le 29-02-2004 à 19:54:32    

Taz a écrit :

j'adore les mecs qui concoivent le retour à la ligne en début de ""


 
tu chipottes :o
c pour éviter que cette ligne soit affichée en haut de la console, ce que je trouve desagreable.. vu qu'elle vient apres un system("cls" )


Message édité par captainneuneu le 29-02-2004 à 19:56:24
Reply

Marsh Posté le 29-02-2004 à 19:55:45    

ben non,
 
le prochaine affichage après ton parse, il se fera pas à la ligne

Reply

Marsh Posté le 29-02-2004 à 19:56:50    

ben si, paske lui aussi il commence par un \n :d

Reply

Marsh Posté le 29-02-2004 à 19:57:39    

pffff

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed