Sommaire

Lire les attributs d’un fichier Fichier:attribut

Les appels système de la famille stat() permettent de lire les informations stockées dans l’inode d’un fichier.

1. Appels système stat(), lstat(), fstat()

Syntaxe

#include <sys/stat.h> 
int stat(const char *pathname, struct stat *statbuf); 
int lstat(const char *pathname, struct stat *statbuf); 
int fstat(int fd, struct stat *statbuf);

Arguments

pathname

Chemin d’accès du fichier

fd

Descripteur du fichier ouvert

statbuf

Adresse d’une structure de type stat

Valeur retournée

-1

Erreur, code erreur positionné dans la variable errno

0

Succès

Description

Ces trois appels système retournent les attributs du fichier dans une structure de type stat. stat() traite un chemin d’accès, fstat()un fichier ouvert. lstat() permet d’obtenir les informations d’un lien symbolique et non pas celles de son fichier cible, si le fichier indiqué est un lien symbolique.

Les appels stat() et lstat() n’accèdent pas au fichier lui-même, ils n’ont donc pas besoin d’avoir de droits d’accès particuliers sur celui-ci. Par contre, ils doivent pouvoir accéder en lecture au répertoire qui le contient et en accès sur les répertoires à traverser pour l’atteindre.

fstat(), utilisant un fichier déjà ouvert, ne peut pas échouer, sauf si le descripteur est invalide.

2. Appel système fstatat()

Cet appel système, ...