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;
}