copendir()
函數用于打開一個目錄流,以便你可以使用 readdir()
函數讀取目錄中的文件。以下是如何使用 copendir()
函數獲取目錄文件的步驟:
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
copendir()
函數打開目錄:DIR *dir = opendir("path/to/directory");
if (dir == NULL) {
perror("opendir");
exit(EXIT_FAILURE);
}
將 "path/to/directory"
替換為你想要打開的目錄路徑。
readdir()
函數讀取目錄中的文件:struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
readdir()
函數返回一個指向 dirent
結構的指針,該結構包含有關目錄條目的信息。d_name
成員包含文件或目錄的名稱。
closedir(dir);
下面是一個完整的示例,展示了如何使用 copendir()
和 readdir()
函數獲取并打印目錄中的所有文件和子目錄:
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
DIR *dir = opendir("path/to/directory");
if (dir == NULL) {
perror("opendir");
exit(EXIT_FAILURE);
}
struct dirent *entry;
while ((entry = readdir(dir)) != NULL) {
printf("%s\n", entry->d_name);
}
closedir(dir);
return 0;
}
請注意,這個示例僅適用于 POSIX 兼容的系統(如 Linux 和 macOS)。在 Windows 上,你需要使用 Windows API 函數(如 FindFirstFile()
和 FindNextFile()
)來實現類似的功能。