cs_hakimus
Messages postés25Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention 8 juillet 2010
-
30 juin 2010 à 12:06
cs_hakimus
Messages postés25Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention 8 juillet 2010
-
1 juil. 2010 à 10:28
Bonjour à tous,
Je cherche à récupérer la liste de tous les fichiers présents dans un répertoire, en C++. De ce que j'ai lû jusqu'à présent, le code diffère selon l'environnement :
// WIN32
#include <stdio.h>
#include <windows.h>
int main(void)
{
WIN32_FIND_DATA File;
HANDLE hSearch;
hSearch = FindFirstFile("*.*", &File);
if (hSearch != INVALID_HANDLE_VALUE)
{
do {
printf("%s\n", File.cFileName);
} while (FindNextFile(hSearch, &File));
FindClose(hSearch);
}
return 0;
}
//POSIX
#include <stdio.h>
#include <dirent.h>
int main(void)
{
DIR * rep = opendir(".");
if (rep != NULL)
{
struct dirent * ent;
while ((ent = readdir(rep)) != NULL)
{
printf("%s\n", ent->d_name);
}
closedir(rep);
}
return 0;
}
J'aimerais donc savoir comment faire pour intégrer ces deux portions de code à mon application et faire en sorte de détecter l'environnement pour exécuter le bon code? J'ai pensé à des macros, mais je n'en ai encore jamais utilisé, donc si quelqu'un a un exemple sur la façon de faire?...
Ou, encore mieux, un code portable qui m'évite d'avoir à détecter l'environnement?
Merci d'avance!
A voir également:
Lister automatiquement les fichiers d'un repertoire : problème de portabilité?