C言語でディレクトリ内のすべてのファイル名を取得する方法
在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関数でディレクトリを閉じます。