программа написана на 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)
