全球搜索目录还返回文件

时间:2018-10-04 13:51:37

标签: c++ posix glob glibc

为什么将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 :(得分:0)

这是glibc 2.19中修复的旧glibc错误: