У меня есть программа C в Linux, которая собирает записи каталога (типа struct dirent * ') из структуры DIR и отображает их. Теперь моя цель - рекурсивно пройти через файловую систему, поэтому мне нужно идентифицировать каталогов и файлов отдельно.
DIR* cwd = opendir(".");
struct dirent* directoryEntry = NULL;
while((directoryEntry = readdir(cwd)) != NULL) {
printf("%s ", directoryEntry->d_name);
}
closedir(cwd);
Я знаю, вы могли бы сказать, что мы может идентифицировать файлы, если в конце есть расширение «.mp4» или «.txt». Но файлы без какого-либо расширения также могут существовать.
Существует ли какой-либо атрибут struct dirent *, который указывает, является ли это файл или каталог?