ここで別の質問への回答が非常に役立つことがわかりました。
sys/stat.h ライブラリに制限があるようです。他のディレクトリを調べようとすると、すべてがディレクトリとして表示されました。
誰かが別のシステム機能を知っていたのか、それとも現在の作業ディレクトリの外にあるものをディレクトリとしてのみ見ているのか疑問に思っていました.
これは私を当惑させ、さまざまな検索が助けにならなかったので、誰かが提供しなければならない助けに感謝します.
これをテストするために作成したコードは次のとおりです。
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
int main(void) {
int status;
struct stat st_buf;
struct dirent *dirInfo;
DIR *selDir;
selDir = opendir("../");
// ^ or wherever you want to look
while ((dirInfo = readdir(selDir))) {
status = stat (dirInfo->d_name, &st_buf);
if (S_ISREG (st_buf.st_mode)) {
printf ("%s is a regular file.\n", dirInfo->d_name);
}
if (S_ISDIR (st_buf.st_mode)) {
printf ("%s is a directory.\n", dirInfo->d_name);
}
}
return 0;
}