что мне нужно сделать, это рекурсивно получить архивы ".mp3" из определенного предварительно определенного каталога и его подкаталогов.У меня не было проблем с получением mp3 и печатью их на консоли.Я использую функцию ftw, указанную в http://www.gnu.org/software/libc/manual/html_node/Working-with-Directory-Trees.html#Working-with-Directory-Trees,, ее функция обратного вызова будет выглядеть следующим образом:
/* Call-back of ftw function*/
int filter_mp3s(const char *dir_name, const struct stat *status, int typeflag){
if (typeflag == FTW_D){
struct dirent **mp3list;
int num_archives;
int counter;
num_archives = scandir (dir_name, &mp3list, select_mp3_ext, alphasort);
/* print mp3 names */
if (num_archives > 0) for (counter = 0; counter <= num_archives - 1; counter++) printf("%s\n", mp3list[counter]->d_name);
}
return 0;
}
Что я действительно хочу сделать, это поместить имена файлов в комбинацию GTKокно виджета.Проблема в том, что функция возвращает тип int, а функция не гибкая со своими параметрами, поэтому я мог бы «сохранить» в чем-то записи.Другими словами, найдены mp3-файлы, но я понятия не имею, как сохранить результаты, чтобы загрузить их в комбинированное окно в другой функции.Я не хочу использовать глобальные переменные ... Я новичок в этом, заранее спасибо за вашу помощь.