在C語言中,可以使用dirent.h
頭文件中的DIR
和dirent
結構體以及readdir
函數來獲取文件夾下的所有文件名。下面是一個簡單的示例代碼:
#include <stdio.h>
#include <dirent.h>
int main() {
DIR *dir;
struct dirent *ent;
// 打開文件夾
dir = opendir("folder_path");
if (dir == NULL) {
printf("無法打開文件夾\n");
return 1;
}
// 讀取文件夾中的文件
while ((ent = readdir(dir)) != NULL) {
// 過濾掉當前文件夾(.)和上級文件夾(..)的記錄
if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) {
continue;
}
printf("%s\n", ent->d_name);
}
// 關閉文件夾
closedir(dir);
return 0;
}
在代碼中,folder_path
需要替換為實際文件夾的路徑。opendir
函數用于打開文件夾,返回一個指向DIR
類型的指針。readdir
函數用于讀取文件夾中的文件,返回一個指向dirent
結構體的指針,其中包含文件名等信息。通過循環遍歷使用readdir
函數獲取的文件信息,可以獲取到文件夾下的所有文件名。最后,使用closedir
函數關閉文件夾。