Glob поиск по каталогам также возвращает файлы - PullRequest
0 голосов
/ 04 октября 2018

Почему при использовании функции glob с путем /home/user/*/ оба файла каталогов и возвращаются.Я ожидаю, что, поскольку путь заканчивается на /, должны быть возвращены только каталоги, но также возвращаются файлы.

Я выполняю следующий код:

vector<string> glob(const std::string& path)
{
    glob_t glob_result;
    glob(path.c_str(),GLOB_TILDE,NULL,&glob_result);
    vector<string> ret;
    for(unsigned int i=0;i<glob_result.gl_pathc;++i){
        ret.push_back(string(glob_result.gl_pathv[i]));
    }
    globfree(&glob_result);
    return ret;
}

Ввод дляфункция - /home/user/*/, а вывод - /home/user/a.txt, /home/user/b.txt и /home/user/nested_folder

Почему возвращаются как файлы, так и каталоги, а не только каталоги.

1 Ответ

0 голосов
/ 04 октября 2018

Это старая ошибка glibc, которая была исправлена ​​в glibc 2.19:

...