#include <dirent.h>
typedef /* entier système */ ino_t;
Le type ino_t permet de stocker le numéro de série d'un fichier dans un système de fichiers. Sous Unix et Linux, ce numéro est souvent appelé numéro d'inode.
Une entrée de dossier renvoyée par readdir contient notamment un champ d_ino de type ino_t. Ce champ permet d'identifier l'entrée dans le système de fichiers, mais il ne suffit pas à lui seul à produire un chemin complet.
ino_t. Elle dépend de l'implémentation POSIX utilisée.
Le programme suivant affiche le nom et le numéro de série des entrées du dossier courant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#define _POSIX_C_SOURCE 200809L #include <dirent.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> int main(void) { DIR * directory = opendir("."); if (directory == NULL) { perror("opendir"); return EXIT_FAILURE; } errno = 0; struct dirent * entry; while ((entry = readdir(directory)) != NULL) { printf("%ld : %s\n", (long) entry->d_ino, entry->d_name); } if (errno != 0) { perror("readdir"); closedir(directory); return EXIT_FAILURE; } closedir(directory); return EXIT_SUCCESS; } |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :