dmothes
Messages postés56Date d'inscriptionmardi 17 décembre 2002StatutMembreDernière intervention11 novembre 2005
-
31 juil. 2003 à 17:05
NitRic
Messages postés402Date d'inscriptionmardi 1 mai 2001StatutMembreDernière intervention15 août 2011
-
11 août 2003 à 03:28
hello,
j'ai vu dans le forum des sources permettant de lister un répertoire (fichiers et sous dossiers) en utilisant le header dirent.h
le probleme, c'est que je ne l'ai pas. peut on faire sans?
Comment? ou alors me faut il dirent.h?
// Liste le contenu du répertoire
hfind = FindFirstFile ( "le chemin du répertoire + \*.* ", &wfd );
if (hfind != INVALID_HANDLE_VALUE)
{
do
{
if( wfd.cFileName[0] != '.')
{
dans wfd.cFileName tu récupéres le nom du fichier
}
NitRic
Messages postés402Date d'inscriptionmardi 1 mai 2001StatutMembreDernière intervention15 août 2011 2 août 2003 à 05:30
C'est simple, avec le membre .dwFileAttributes de WIN32_FIND_DATA, je vait reprendre l'exemple de Trinita16.
// pour FindFirstFile()/FindNextFile() & FindClose()
#include <windows.h>
// pour cout
#include
void main()
{
HANDLE hfind; // va contenir le handle(identificateur) de la recherche
WIN32_FIND_DATA wfd; // va contenir les informations de la recherche
// lance la recherche
hfind = FindFirstFile ("c:\\*.* ", &wfd );
// si rien n'a été trouvé, INVALID_HANDLE_VALUE est retourné
if ( hfind != INVALID_HANDLE_VALUE )
{
do
{
// vérifie que ce n'est pas le répertoire courant ou précédent(. ou ..)
if( wfd.cFileName[0] != '.' )
{
// vérifie si c'est un répertoire ou non
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
// c'est un répertoire
cout << "Repertoire: " << wfd.cFileName << "\n";
}
else {
// c'est un fichier
cout << "Fichier: " << wfd.cFileName << "\n";
}
}
// poursuit la recherche
}while(FindNextFile( hfind, &wfd));
// recherche terminé, ferme la recherche
FindClose(hfind);
}
}
Voilà ...
pour plus d'infos sur la structure WIN32_FIND_DATA regarde MSDN, il y à tout, absolument tout sur la Win32 API ...