opendir
函數在 C 語言中用于打開一個目錄流,從而允許程序讀取目錄中的文件和子目錄。它是 POSIX 標準的一部分,通常在 <dirent.h>
頭文件中聲明。使用 opendir
可以方便地遍歷目錄結構。
#include <dirent.h>
DIR *opendir(const char *name);
name
: 要打開的目錄的路徑。DIR
結構的指針,該結構表示打開的目錄流;失敗時返回 NULL
。<dirent.h>
頭文件。opendir
: 使用目錄路徑作為參數調用 opendir
。opendir
的返回值是否為 NULL
,以確保目錄成功打開。readdir
函數讀取目錄中的條目。closedir
函數關閉目錄流。以下是一個簡單的示例,演示如何使用 opendir
和 readdir
來列出指定目錄中的所有文件和子目錄:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *entry;
// 打開當前目錄
dir = opendir(".");
if (dir == NULL) {
perror("opendir");
return EXIT_FAILURE;
}
// 讀取目錄中的條目
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
// 關閉目錄流
closedir(dir);
return EXIT_SUCCESS;
}
readdir
返回的 dirent
結構包含多個字段,其中 d_name
是文件或目錄的名稱。closedir
關閉它,以釋放資源。opendir
只能用于打開存在的目錄,否則會返回 NULL
。perror
或其他方法來報告失敗原因。通過這些步驟,你可以輕松地在 C 程序中實現對目錄的遍歷和操作。