Maison > Article > développement back-end > Comment déterminer si un répertoire existe sous Unix ?
Vérification de l'existence d'un répertoire sous Unix
Sous Unix, déterminer l'existence d'un répertoire est essentiel pour diverses opérations. Contrairement à opendir() qui ne révèle la non-existence d'un répertoire qu'en cas d'erreur, il existe des appels système spécifiquement conçus pour vérifier la présence d'un répertoire.
Pour répondre à ce besoin, les systèmes POSIX proposent deux fonctions : stat () et lstat(). Les deux fonctions fournissent des informations sur le chemin spécifié, y compris son type. Cependant, stat() suit les liens symboliques alors que lstat() ne le fait pas.
Pour vérifier si un répertoire existe à l'aide de stat() :
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // Directory exists }
La macro S_ISDIR() confirme le type de fichier comme répertoire. De même, d'autres types de fichiers peuvent être vérifiés à l'aide des macros S_IS* correspondantes.
Conclusion :
stat() et lstat() fournissent un moyen pratique et complet de déterminer le existence et type d'un fichier ou d'un répertoire sous Unix, permettant une gestion transparente des opérations liées au système de fichiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!