在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
函数关闭文件夹。