在 Linux 中,使用 opendir()
函數打開目錄時,如果成功,它會返回一個指向 DIR
結構的指針。如果失敗,則返回 NULL
。因此,您可以通過檢查 opendir()
的返回值是否為 NULL
來判斷它是否成功。
以下是一個簡單的示例代碼,演示如何使用 opendir()
并檢查其返回值:
#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *entry;
// 嘗試打開當前目錄
dir = opendir(".");
// 檢查 opendir 是否成功
if (dir == NULL) {
perror("opendir failed");
return EXIT_FAILURE;
}
// 讀取目錄中的條目
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
// 關閉目錄
closedir(dir);
return EXIT_SUCCESS;
}
在這個示例中,如果 opendir(".")
失敗,程序會打印錯誤消息并返回 EXIT_FAILURE
。如果成功,它會列出當前目錄中的所有文件和子目錄,然后關閉目錄并正常退出。
請注意,opendir()
失敗的原因可能有很多,例如目錄不存在、權限不足等。您可以使用 perror()
函數來打印具體的錯誤消息,以便更好地理解失敗的原因。