C++读取一个文件夹里的所有文件名称
时间: 2024-12-22 08:32:33 浏览: 0
在C++中,可以使用`<dirent.h>`库来读取Linux平台上指定目录下的所有文件名。下面是一个简单的示例程序,展示了如何完成这项任务[^1]:
```cpp
#include <stdio.h>
#include <dirent.h>
int main() {
struct dirent *ptr;
DIR *dir;
char folder_path[] = "./your_directory"; // 替换为你想要读取的文件夹路径
dir = opendir(folder_path);
if (dir == NULL) {
perror("Error opening directory");
return 1;
}
printf("Files in %s:\n", folder_path);
while ((ptr = readdir(dir)) != NULL) {
// 跳过"."和".."以及其他非文件项
if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0)
continue;
printf("%s\n", ptr->d_name);
}
closedir(dir);
return 0;
}
```
在这个程序中,`readdir()`函数逐个返回指定目录下的每个目录项,包括文件和子目录。通过比较`d_name`字段的内容,我们可以区分文件和其他项目(如`.`和`..`)。
阅读全文