begin process at 2012 05 29 07:43:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Lister les fichiers d'un dossier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lister les fichiers d'un dossier

jeudi 31 mars 2005 à 15:17:56 | Lister les fichiers d'un dossier

angsthase

/*Bonjour,
 je voudrais lister les fichier qui se trouve dans un dossier. ( ici le dossier par défaut);

Lorsque je lance mon code, il me fait bien la liste de tous les dossier. Mais il repete indéfiniment le dernier dossier. Comment savoir si c'est bien le dernier dossier ?????

J'ai essayer de comparer le nom des dossier( la ligne en rouge), mais même s'il ont le même nom, il fait une différence.

Quelqu'un peut-il m'aider ???

Voici mon code :   */

#define _WIN32_WINNT 0x0400

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{


  WIN32_FIND_DATA FindFileData, OldFindFileData;
  HANDLE hFind;

  int i=1, key=0;

  hFind = FindFirstFile("*.txt", &FindFileData);
  if (hFind == INVALID_HANDLE_VALUE)
  {
    printf ("Invalid File Handle. GetLastError reports %d\n\a", GetLastError ());
      system("PAUSE");
    return (0);
  }


  printf ("File number %i is: %s\n", i, FindFileData.cFileName);
  OldFindFileData.cFileName=FindFileData.cFileName;

  do
  {
     FindNextFile(hFind, &FindFileData) ;
     if(FindFileData.cFileName==OldFindFileData.cFileName)
     {
       printf("  *** Fin Des Fichiers ***  \n\n");
        key=1;
     }
     else
     {
        i++;
        printf ("File number %i is: %s\n",i,FindFileData.cFileName);
        OldFindFileData=FindFileData;
     }
   }
   while(!key);
  printf("\n");
  system("PAUSE");
}






AngstHase
jeudi 31 mars 2005 à 15:50:12 | Re : Lister les fichiers d'un dossier

ricky78

Réponse acceptée !

essaye ça

 HANDLE hfind;
 WIN32_FIND_DATA wfd;
 
 /* Liste le contenu du répertoire */
 hfind = FindFirstFile ( "monchemin", &wfd );
 if (hfind != INVALID_HANDLE_VALUE)
 {
  do
  {
   if( wfd.cFileName[0] != '.') //test les repertoire \. et \.. et les zapp
   {
    
   
    if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // c'est un repertoire
    {
     // triatement pour les repertoires
        }
    else
    {
    // c'est un fichier
// traitement pour les fichiers    }

    
   
   }
  
    }while(FindNextFile( hfind, &wfd));
  FindClose(hfind);
 }

TOCHE

jeudi 31 mars 2005 à 16:30:24 | Re : Lister les fichiers d'un dossier

angsthase

Je ne comprends pas ton while
          while(FindNextFile( hfind, &wfd));   



AngstHase
jeudi 31 mars 2005 à 16:34:17 | Re : Lister les fichiers d'un dossier

ymca2003

Ca arrête la boucle si FindNextFile renvoi FALSE (c'est à dire s'il n'y a plus de fichier à lister)
jeudi 31 mars 2005 à 16:44:53 | Re : Lister les fichiers d'un dossier

angsthase

Grand merci, tu viens de me faire decouvrir les booléen !!!!!!!!!!!!!!!!!!!!!!

Je viens de commencer en c++, et j'avais lu que les booléen n'existait pas en c++. Je trouvais ça bizarre mais je n'ai jamais essayer. Alors je travaillais avec des int à 0 ou 1!!!

Je tombe sur le c.. !!!
Doublement merci!
AngstHase
jeudi 31 mars 2005 à 16:48:38 | Re : Lister les fichiers d'un dossier

ymca2003

en fait le type BOOL et les var TRUE et FALSE (en majuscules) sont des defines de windows.h
typedef int BOOL;
#define TRUE 1;
#define FALSE 0;

En effet le type booléen n'existe pas en C (d'où ces defines) mais en c++ il existe ;
bool, true, false (en minuscule).
jeudi 31 mars 2005 à 17:36:29 | Re : Lister les fichiers d'un dossier

angsthase

Merci pour les détails YMCA

AngstHase
jeudi 31 mars 2005 à 20:41:51 | Re : Lister les fichiers d'un dossier

Matt67

Bonsoir,

Le type booleen existe en C (Norme C99).

Matt...
vendredi 1 avril 2005 à 09:04:43 | Re : Lister les fichiers d'un dossier

ymca2003

Matt67 -> Merci pour le renseignement (de toute façon j'utilise dèjà pas le type booléen en C++).


Cette discussion est classée dans : dossier, printf, cfilename, findfiledata, oldfindfiledata


Répondre à ce message

Sujets en rapport avec ce message

ouvrir un dossier en mode binaire (lang C) [ par moi411 ] Tout d'abord bonsoir, J'ai donc un problème sur un programme. Ce prog doit servir, une fois terminé, à copier des fichiers d'un dossier à un autre en Probleme gestion fichier [ par jejefull1234 ] Bonjour, alors voila je souhaite réaliser un programme qui va scruter l'arriver de fichier .txt dans un dossier precit, et les copier dans un autre do Liste de fichiers d'un rep [ par kharbout ] Bonjour,Je m'excuse si ma question vous parait bête, je suis débutant on va dire.Je voudrais une aide pour lister la liste des fichiers d'un rep dont Récupération puis comparaison de 2 chaines [ par FOSTA ] Bonjour,je souhaite recupérer une champ et le comparé à une chaine saisie au clavier, pour cela j'ai écrit les fonctions ci-dessous mais elles ne marc programme en C [ par graminach ] on a un pb pour la question 2b!le programme ne tourne pas en boucle et affiche meme en cas de valeur correcte erreurmerci d'avancehttp://www-ipst.u-st mauvais caractères affichés avec printf [ par nico71 ] CreateService [ par 0xYg3n3 ] Bonjour, Voila j'ai cree une application que je souhaits mettre en mode Service. Mais le probleme est que lorsque je vais dans le panneau de configura Problème de lecture fichier [ par nach73 ] J'ai un enorme probleme je n'arrive pas a lire dans mon fichierVoila la partie de mon programme.Si quelqu'un peux m'aide.Merci.//ouverture du fichier Bug windows avec mon programme (nivo débutant) [ par MATHIS49 ] Bonjour ! Etant un gros debutant en C je m'essai à faire un programme d'amortissement tout simple. Mais le probleme c'est que windows plante lorsque j comparaison de chaines [ par melkiorlenecrarque ] Salut !voici le code:if(DataFichier[i].cFileName != ".")avec:WIN32_FIND_DATA DataFichier[20];quand DataFichier[i].cFileName vaut "." , le if ne passe


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales