Maison > développement back-end > C++ > Comment déterminer si un répertoire existe sous Unix ?

Comment déterminer si un répertoire existe sous Unix ?

DDD
Libérer: 2024-11-06 12:22:02
original
703 Les gens l'ont consulté

How to Determine if a Directory Exists in 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
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal