#include <sys/stat.h>
La structure struct stat contient les métadonnées retournées par stat, fstat, lstat et fstatat.
| Champ | Description |
|---|---|
st_dev | Identifiant du périphérique contenant le fichier. |
st_ino | Numéro de série du fichier. |
st_mode | Type du fichier et droits d'accès. |
st_nlink | Nombre de liens physiques. |
st_uid | Identifiant du propriétaire. |
st_gid | Identifiant du groupe. |
st_rdev | Identifiant de périphérique pour un fichier spécial caractère ou bloc. Champ associé à l'option XSI. |
st_size | Taille en octets pour un fichier régulier, ou longueur du chemin contenu dans un lien symbolique. |
st_atim | Dernier accès aux données. |
st_mtim | Dernière modification des données. |
st_ctim | Dernier changement d'état du fichier. |
st_blksize | Taille de bloc préférée pour les entrées/sorties. Champ associé à l'option XSI. |
st_blocks | Nombre de blocs alloués. Champ associé à l'option XSI. |
st_atime, st_mtime et st_ctime correspondent respectivement à st_atim.tv_sec, st_mtim.tv_sec et st_ctim.tv_sec.
L'exemple suivant affiche la taille et l'horodatage de dernière modification d'un fichier.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#define _POSIX_C_SOURCE 200809L #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> int main(int argc, char * argv[]) { if (argc != 2) { printf("Usage: %s path\n", argv[0]); return EXIT_FAILURE; } struct stat informations; if (stat(argv[1], &informations) == -1) { perror("stat"); return EXIT_FAILURE; } printf("Taille : %ld octets\n", (long) informations.st_size); printf("Mtime : %ld secondes\n", (long) informations.st_mtim.tv_sec); 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 :