Identification repertoire fichier

Résolu
laetitiavincent Messages postés 61 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 janvier 2007 - 8 nov. 2006 à 10:30
laetitiavincent Messages postés 61 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 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

Merci pour votre aide

 Laetitia

5 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
8 nov. 2006 à 12:34
sinon, si tu as que le filename, alors utilises
GetFileAttributes en lui passant le nom du fichier

ShareVB
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
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
}
3
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
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

ShareVB
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
8 nov. 2006 à 13:26
salut,

et opendir/readdir/closedir pour lister les fichiers...

ShareVB
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
laetitiavincent Messages postés 61 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 19 janvier 2007
8 nov. 2006 à 20:06
merci pour votre aide
ca m'a bien aidé

 Laetitia
0
Rejoignez-nous