laetitiavincent
Messages postés61Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention19 janvier 2007
-
8 nov. 2006 à 10:30
laetitiavincent
Messages postés61Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention19 janvier 2007
-
8 nov. 2006 à 20:06
Bonjour tout le monde
Encore une fois j'appelle au secours pour une petite aide
Je fais un listing des éléments qui se trouve dans un répertoire. En fonction, si c'est un répertoire ou un fichier il doit réagir différemment.
Quelqu'un pourrait me dire comment on peut savoir si c'est un fichier ou un répertoire en C
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 8 nov. 2006 à 13:17
Salut:
Si tu utilise Win32 rien à ajouter à la solution citée la haut.
Sinon, si tu utilise le C ANSI une solution très facile consiste à utiliser la fonction fstat/stat
#include <sys/stat.h>
#include <sys/types.h>
int handle;
struct stat buffer;
if (handle open ("fileName", O_RDONLY)) -1) {
return EXIT_FAILURE;
}
if (fstat (handle, &buffer) == -1) {
return EXIT_FAILURE;
}
if (buffer.st_mode & S_IFDIR) {
// répertoire
}
else if (
buffer.st_mode &
S_IFREG) {
// fichier ordinaire
}
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 8 nov. 2006 à 12:32
salut,
si tu utilises FindFirstFile et FindNextFile, la structure WIN32_FIND_DATA renvoyée contient un membre dwFileAttributes qui est un bit field contenant les attributs du fichier et donc savoir si fichier ou dossier :
if ((w32fd.dwFilesAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY)
//dossier
else
//fichier