Почему при использовании функции 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
Почему возвращаются как файлы, так и каталоги, а не только каталоги.