opendir()
是一個用于打開目錄的函數,它返回一個指向 DIR
類型的指針,該指針可以用于讀取目錄中的條目。要使用 opendir()
獲取目錄項信息,你需要結合其他函數,如 readdir()
和 closedir()
。以下是一個簡單的示例,展示了如何使用這些函數來獲取并打印目錄中的所有文件和子目錄:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <string.h>
int main() {
DIR *dir;
struct dirent *entry;
// 打開目錄
dir = opendir("your_directory_path");
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
// 讀取目錄中的條目
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
// 關閉目錄
closedir(dir);
return EXIT_SUCCESS;
}
在這個示例中,你需要將 your_directory_path
替換為你想要讀取的目錄路徑。程序首先使用 opendir()
打開目錄,然后使用 readdir()
函數逐個讀取目錄中的條目。readdir()
返回一個指向 dirent
結構的指針,該結構包含有關目錄項的信息,如名稱(d_name
)。最后,使用 closedir()
關閉目錄。
注意:在實際應用中,你可能需要根據需要對 dirent
結構中的其他字段進行檢查和處理,例如 d_type
(表示文件類型)等。