有没有办法检查文件是否存在,文件名是否包含正则表达式

时间:2013-09-28 21:51:30

标签: c++ path file-exists

鉴于您正在搜索的路径,并且文件名包含正则表达式,有没有办法检查是否有任何文件满足此路径下存在的文件名模式?在C ++中?例如: 在路径下

/path

我想搜索文件“foo。*”

foo.* 

结果可能是foo.1或foo.2或其他。我想得到结果(我的意思是我想知道文件是否存在以及确切的文件名),谢谢

1 个答案:

答案 0 :(得分:0)

查看boost::filesystem,否则你需要查看你的操作系统的api。

以下是一个示例(未经测试):

boost::filesystem::path dir("/path");
boost::filesystem::directory_iterator it(dir), end;
BOOST_FOREACH(const boost::filesystem::path& p, std::make_pair(it, end))
{
    if(boost::filesystem::is_regular_file(p))
    {
        if(p.stem().string() == "foo")
        {
            std::cout << p.extension() << '\n';
        }
    }
}