使用系統呼叫驗證Unix 中的目錄是否存在
在Unix 系統中,查詢目錄的存在對於各種檔案管理任務至關重要。與 opendir() 如果目錄不存在則傳回錯誤不同,其他方法提供更精確的目錄驗證。
stat() 和lstat() 用於目錄檢查
POSIX 系統提供兩個函數stat() 和lstat() 來決定路徑名指定的物件是否存在及其類型。 stat() 追蹤符號鏈接,而 lstat() 檢查符號鏈結本身。
以下程式碼片段示範如何使用stat() 檢查目錄是否存在:
#include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { // ...it is a directory... }
S_IS* 用於檔案類型辨識的巨集
如果stat() 成功,則可以使用S_ISDIR() 來確定檔案是否為目錄。其他S_IS* 巨集允許識別各種檔案類型:
以上是如何使用系統呼叫檢查 Unix 中的目錄是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!