ホームページ  >  記事  >  バックエンド開発  >  Unix にディレクトリが存在するかどうかを確認するにはどうすればよいですか?

Unix にディレクトリが存在するかどうかを確認するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-06 12:22:02621ブラウズ

How to Determine if a Directory Exists in Unix?

Unix でのディレクトリの存在の確認

Unix では、ディレクトリの存在を確認することはさまざまな操作に不可欠です。エラー時にディレクトリが存在しないことのみを明らかにする opendir() とは異なり、ディレクトリの存在を確認するために特別に設計されたシステム コールがあります。

このニーズに対処するために、POSIX システムは 2 つの関数を提供します。 () と lstat()。どちらの関数も、指定されたパス名に関する情報 (そのタイプを含む) を提供します。ただし、stat() はシンボリック リンクに従いますが、lstat() はシンボリック リンクに従いません。

stat() を使用してディレクトリが存在するかどうかを確認するには:

#include <sys/stat.h>

struct stat sb;

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

マクロ S_ISDIR() はファイル タイプを確認します。ディレクトリとして。同様に、他のファイル タイプも、対応する S_IS* マクロを使用してチェックできます。

結論:

stat() と lstat() は、ファイル タイプを判断するための便利で包括的な方法を提供します。 Unix のファイルまたはディレクトリの存在と種類を認識し、ファイル システム関連の操作をシームレスに処理できるようにします。

以上がUnix にディレクトリが存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。