Accueil > Forum > > > > Pb de listage de fichiers
Pb de listage de fichiers
dimanche 18 avril 2004 à 20:34:46 |
Pb de listage de fichiers

AlexMAN
|
Bonsoir all, Voila, j'ai un ptit pb concernant une fonction ki liste les fichiers d'un repertoire precis, je sais kil ne me resterait ka prendre une fonction ki fonctionne (c le K de le dire !;) sur ce mm site, mais j'en vois pas l'interet ! Donc voila, je poste le code, et si kelkun pouvait me trouver le BUG ! je vous remercie d'avance ! #include <stdio.h> #include <windows.h> int iListFile(char *); void iListFile(char *sPath) { HANDLE hList; WIN32_FIND_DATA wFile; hList = FindFirstFile(sPath, &wFile); while ((FindNextFile(hList, &wFile))) { if (wFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { printf("Repertoire : \t%s\n", wFile.cFileName); }else { printf("Fichier : \t%s\n", wFile.cFileName); } } FindClose(hList); } void main (int argc, char *argv[]) { //Pour sauter le premier argument (qui est simplement le nom de l'application); argc--; argv++; iListFile(*argv); getc(stdin); } En argument, je passe bien "f:\*.*" (f car mon hdd n'est pas c !)... Voila, je vous remercie ! Bonne prog Alhexman
|
|
dimanche 18 avril 2004 à 21:10:53 |
Re : Pb de listage de fichiers

vecchio56
|
première erreur flagrante: les types de retour de la fonction et du prototype sont différents, or on ne peut pas surcharger sur le type de retour. Mais as-tu un problème de compilation ou un bug à l'éxécution?
|
|
dimanche 18 avril 2004 à 21:25:43 |
Re : Pb de listage de fichiers

AlexMAN
|
uè dsl, le type de retour dans le prototype a été changé au dernier momen, mais c pas de la ke provient le pb, c au cours de l'execution du prog, j'ai l'impression kil saute la boucle (enfin, ke les conditions ne sont pas respecté) car il atta l'appui d'une touche mais je ne vois vraiment pas pkoi !
|
|
dimanche 18 avril 2004 à 21:55:51 |
Re : Pb de listage de fichiers

vecchio56
|
FindFirstFile attend une chaine du type F:\\*.* et non F:\\. N'oublie pas dans ton programme d'afficher le fichier obtenu avec FindFirstFile (si différent de INVALID_HANDLE_VALUE)
|
|
dimanche 18 avril 2004 à 21:59:03 |
Re : Pb de listage de fichiers

vecchio56
|
je pense que ce sera mieux comme ca: void iListFile(char *sPath) { HANDLE hList; WIN32_FIND_DATA wFile;
hList = FindFirstFile(sPath, &wFile); if(hList != INVALID_HANDLE_VALUE) { do { if (wFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { printf("Repertoire : \t%s\n", wFile.cFileName); } else { printf("Fichier : \t%s\n", wFile.cFileName); } }while ((FindNextFile(hList, &wFile))); }
|
|
|
lundi 19 avril 2004 à 18:39:14 |
Re : Pb de listage de fichiers

AlexMAN
|
Je te remercie vecchio, mais ca marche tjrs pas kan je passe le chemin d'acces en argumen, alors ke si je declare une chaine de caracteres contenant le chemin d'acces, ca fonctionn...
Merci kan mm
++
|
|
lundi 19 avril 2004 à 22:09:49 |
Re : Pb de listage de fichiers

neohp
|
voila une solution qui marche :
void lister(char *path) { WIN32_FIND_DATA wData; HANDLE listing;
if( !((listing = FindFirstFile(path, &wData)) == INVALID_HANDLE_VALUE ) ) { do { if( wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) printf("Repertoire : \t%s\n", wData.cFileName); else printf("Fichier : \t%s\n", wData.cFileName); }while(FindNextFile(listing, &wData)) ; } }
int main(int argc, char* argv[]) { char rep[] = "c:\\*.*" ; lister(rep) ;
return 0; }
en fait, avoir ton source, je pense que le pb vient de ce bout de code : argc--; argv++;
iListFile(*argv);
sa me parait bizarre, j'vais essayer et je repost un com
A+
|
|
lundi 19 avril 2004 à 22:22:35 |
Re : Pb de listage de fichiers

neohp
|
pour moi, le pb est resolu le pb vient bien de la ou je pense : dans mon source j'ai remplacé argc--; argv++; iListFile(*argv); par iListFile( argv[1] ) ; // le deuxieme argument sur la ligne l'argument est de type c:\*.* et non pas de c:\\*.* : en c, pour avoir la caractere '\', il faut le doubler dans un chaine, car '\' est un caractere d'echappement : ex char path[] = "c:\\*.*" ; // le chemin est c:\*.* printf("le chemin est : %s\n", path) ; te donnera a l'ecran le chemin est : c:\*.* bon apres la theorie je te met le source complet : #include <stdio.h> #include <windows.h>
void lister(char *path) { WIN32_FIND_DATA wData; HANDLE listing;
if( !((listing = FindFirstFile(path, &wData)) == INVALID_HANDLE_VALUE ) ) { do { if( wData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) printf("Repertoire : \t%s\n", wData.cFileName); else printf("Fichier : \t%s\n", wData.cFileName); } while(FindNextFile(listing, &wData)) ; } }
int main(int argc, char* argv[]) { lister(argv[1]) ;
return 0; }
|
voila si tu mets dans une commande dos : nom_programe f:\*.* sa marchera voila j'espere que sa resoud ton problème  ++
|
|
mardi 20 avril 2004 à 18:10:11 |
Re : Pb de listage de fichiers

AlexMAN
|
Je te remercie vraiment vecchio, de t'etre attardé sur mon cas, entre autre...Je vais essayer de déterminer la cause du pb : argc--; argv++; J'ai déja utilisé, ca fonctionnait, enfin bref, je te remercie beaucoup...
++ vecchio
Alhexman
|
|
mercredi 21 avril 2004 à 01:11:36 |
Re : Pb de listage de fichiers

neohp
|
hello...
non, ce n'etait pas vecchio, c'est moi hihi
argc--; argv++;
iListFile(*argv);
en absolu, ce n'est pas faux ( quoique le argc-- sa sert a rien, ici) ..mais l'arithmétique de pointeur, c'est toujours delicat ...
c'est de tte facon , une solution pas très propre....
mais en effet j'ai tester dans mon source
lister(*(++argv)) ;
et sa marche parfaitement...
( s'a equivaut a argv++ ; lister(*argv) ; )
voila j'espere que c'est ok maintenant
A+
neoh_p [=- coding spirit -=] ------- since 1999 ------
|
|
Cette discussion est classée dans : pb, fichiers, wfile, hlist, ilistfile
Répondre à ce message
Sujets en rapport avec ce message
pb visual c++ fichiers [ par pichu ]
dans une fonction de visual j'ouvre un fichier fstream en lecture. Ce fichier contient des informations. Mais ca me renvoie true quand j'affiche le ré
pb de config de VC++ 6 pour des fichiers unicodes [ par BionicSniper194 ]
Salut a tous,un pot m'a recement passer un de ses code, et j'ai voulu l'utiliser mais au moment de la compilation j'ai un message du type :"XXXXXX.h
pb avec les fichiers cpp [ par Saros ]
Bon là c'est la première fois que ça me le fait.Je bosse sous VC++6.J'ai un projet avec trois fichiers :estack.hetmain.cppRpn_Alg.cppJ'ai déclaré et d
PB AVEC LES E/S FICHIERS [ par VBSephiroth ]
Salut a ts !Je voudrais par exemple (en C, pas en CPP) le code qui lit un fichier a l'offset 15, puis qu'il lise a partir de l'offset 15 une chaine d
pb de base de donnee en C [ par tequ13 ]
j'aimerais savoir comment faire pour charger des fichiers (*.txt) a l'ouverture d'un programme pour ensuite les comparer et repérer les doublons pour
c koi les fichiers h? [ par etmerde ]
je suis débutant(mais alors là, plus nul que ça tu trouves pas), et j'ai vu dans les codes c++ des trucs du genre include (machinchose.h) ou un truc d
pb avec procedure [ par bidules ]
bonjour,voila mon code(simplifier) :void affiche(int numero){cout }void main(){affiche(10);}et un message d'erreur apparait lors de la compilation
problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0 [ par nico ]
J'ai récupéré un projet contenant des fichiers écrits en C. Le fichier "principal" de ce projet également écrit en C fait appel à des fonctions se tro
Pb code source CMphSock [ par xaviou ]
Salut.J'ai téléchargé le projet "CMphSock" : Utilisation de Winsock sans MFC.Je l'ai compilé en mode Debug : tout est OKJ'ai essayé en mode Release :
petit pb de type string [ par bidules ]
D'apres ce que g pu apprendre lorsque l'on veut declarer une variable de type string il faut faire :#include string variable;c bien ca? car qd je fais
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|