Heim > Backend-Entwicklung > C++ > Hauptteil

Wie kann ich feststellen, ob ein Verzeichnis unter Unix vorhanden ist?

DDD
Freigeben: 2024-11-06 12:22:02
Original
619 Leute haben es durchsucht

How to Determine if a Directory Exists in Unix?

Überprüfen der Verzeichnisexistenz unter Unix

Unter Unix ist die Feststellung der Existenz eines Verzeichnisses für verschiedene Vorgänge von entscheidender Bedeutung. Im Gegensatz zu opendir(), das nur bei einem Fehler die Nichtexistenz eines Verzeichnisses aufdeckt, gibt es Systemaufrufe, die speziell darauf ausgelegt sind, das Vorhandensein eines Verzeichnisses festzustellen.

Um diesem Bedarf gerecht zu werden, bieten POSIX-Systeme zwei Funktionen: stat () und lstat(). Beide Funktionen liefern Informationen über den angegebenen Pfadnamen, einschließlich seines Typs. Allerdings folgt stat() symbolischen Links, während lstat() dies nicht tut.

Um mit stat() zu überprüfen, ob ein Verzeichnis existiert:

#include <sys/stat.h>

struct stat sb;

if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) {
    // Directory exists
}
Nach dem Login kopieren

Das Makro S_ISDIR() bestätigt den Dateityp als Verzeichnis. Ebenso können andere Dateitypen mithilfe entsprechender S_IS*-Makros überprüft werden.

Fazit:

stat() und lstat() bieten eine bequeme und umfassende Möglichkeit, die zu ermitteln Existenz und Typ einer Datei oder eines Verzeichnisses in Unix, was eine nahtlose Abwicklung dateisystembezogener Vorgänge ermöglicht.

Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob ein Verzeichnis unter Unix vorhanden ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!