要使用 copendir
函數遍歷目錄,你需要按照以下步驟進行操作。copendir
是一個用于打開目錄流的 POSIX 函數,通常與 readdir
和 closedir
一起使用來讀取目錄內容。
下面是一個簡單的示例代碼,演示如何使用 copendir
遍歷目錄:
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *entry;
// 打開目錄
dir = copendir(".");
if (dir == NULL) {
perror("無法打開目錄");
return EXIT_FAILURE;
}
// 使用 readdir 讀取目錄中的條目
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
// 關閉目錄流
closedir(dir);
return EXIT_SUCCESS;
}
包含頭文件:
#include <dirent.h>
:包含處理目錄流所需的定義。#include <stdio.h>
和 #include <stdlib.h>
:用于標準輸入輸出和退出程序。打開目錄:
copendir
函數打開當前目錄(.
)。你可以將 "."
替換為任何其他有效路徑。檢查目錄是否成功打開:
copendir
返回 NULL
,表示打開目錄失敗,使用 perror
輸出錯誤信息。讀取目錄內容:
readdir
函數從目錄流中讀取每個目錄項,并打印其名稱 (d_name
)。readdir
返回 NULL
,表示已到達目錄末尾。關閉目錄流:
closedir
關閉之前打開的目錄流。readdir
返回的 struct dirent
結構體中包含多個字段,其中 d_name
是目錄項的名稱。.
和 ..
,這些分別代表當前目錄和父目錄。entry->d_type
字段進行檢查。這個示例展示了如何簡單地遍歷當前目錄中的所有文件和子目錄。根據你的需求,你可以修改路徑或添加額外的邏輯來處理特定類型的文件。