我正在尝试使用 c++ 读取 unix 目录(包括所有子目录)并列出前 10 个最大的文件。我读过我可以使用#include dirent.h 并使用struct dirent,但是我无法将目录名称作为变量传递给opendir/readdir。基本上它无法识别它并说找不到文件/目录。请你能帮助我如何在 C++ 中执行此操作并打印出目录中前 10 个最大的文件吗?谢谢
DIR *dir;
struct dirent *ent;
dir = opendir ("homedir");
if (dir != NULL) {
while ((ent = readdir (dir)) != NULL) {
cout << ent->d_name <<endl;
}
closedir (dir);
} else {
cout << "Can't open directory" << endl;
}