программа написана на C++. Данная функция должна составить список музыкальных файлов. При проверке всегда считает, что перед ним каталог. Подскажите пожалуйста где у меня ошибка.
void FindFile(char *folder, vector<string> spisok)
{
const string rasshirenie = ".mp3";
DIR *directory;
struct dirent *dir;
struct stat buf;
string name;
directory = opendir(folder);
while((dir = readdir(directory)) != NULL)
{
name = dir -> d_name;
if(name.compare(".") && name.compare(".."))
{
lstat(&name[0], &buf);
if(S_ISDIR(buf.st_mode)) //не выполняется это условие
FindFile(&name[0], spisok);
if(S_ISREG(buf.st_mode))
{
name = name.substr(name.length() - 4);
if(name.compare(rasshirenie))
spisok.insert(spisok.end(), name);
}
}
}
}
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от yoghurt
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от yoghurt
Ответ на:
комментарий
от yoghurt
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум lstat (2004)
- Форум Фильтр в функции scandir (2007)
- Форум Ошибка сегментирования. Рекурсивный обход каталогов (2017)
- Форум Не работает велосипед pwd на сях (2015)
- Форум readdir() (2002)
- Форум Рекурсивно получить содержимое директорий (очень нубский вопрос) (2013)
- Форум ncurses(menu) + struct dirent (2011)
- Форум Segmentation fault core dumped (2022)
- Форум Вывести содержание бинарного файла (2013)
- Форум FUSE (2013)