程序不计算文件扩展名

时间:2016-04-15 04:16:30

标签: c++ regex directory file-extension

我正在为学校开展一个项目,它涉及进入指定的文件路径并计算文件扩展名。但由于某种原因,我的不计算它们。 我看到它的方式,我用于我的文件扩展名的正则表达式无效,或目录迭代器未正确完成。但是,我已经玩了几个小时了,我没有得到它 正则表达式: regex extensions("\.(java|class)");

目录迭代器:

void nrScan(regex extensions, path const& f, map<string, int> &numExtensions)
{
    for (directory_iterator d(f), e; d != e; d++)
    {
        string extension = d->path().extension().string();
        int count = 0;
        if (regex_search(extension, extensions))
        {
            numExtensions[extension]++;
            count++;
        }
        cout << count << endl;
    }
}

1 个答案:

答案 0 :(得分:0)

您的正则表达式看起来像扩展正则表达式。您必须确保regex_search使用扩展RE而不是基本RE来进行搜索。