Problème :
Sous Unix, comment peut-on déterminer l'existence d'un répertoire à l'aide d'un appel système sans l'ouvrir ni gérer les erreurs associées ?
Réponse :
Les systèmes POSIX fournissent deux fonctions essentielles à cet effet : stat( ) et lstat(). Ces fonctions vous permettent de vérifier si un nom de chemin reflète un objet accessible valide et de récupérer des informations sur son type.
Différences clés entre stat() et lstat() :
Implémentation à l'aide de stat() :
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // True if pathname is a directory }
Vérification supplémentaire du type de fichier :
Utilisation des macros S_IS* de < sys/stat.h>, vous pouvez vérifier d'autres types de fichiers au-delà des répertoires :
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!