给定您要搜索的路径,并且文件名包含正则表达式,有没有办法检查该路径下是否存在满足文件名模式的文件?在 C++ 中??例如:在路径下
/path
我想搜索文件“foo.*”
foo.*
结果可能是 foo.1 或 foo.2 或其他。我想得到结果(我的意思是我想知道文件是否存在以及确切的文件名),谢谢
给定您要搜索的路径,并且文件名包含正则表达式,有没有办法检查该路径下是否存在满足文件名模式的文件?在 C++ 中??例如:在路径下
/path
我想搜索文件“foo.*”
foo.*
结果可能是 foo.1 或 foo.2 或其他。我想得到结果(我的意思是我想知道文件是否存在以及确切的文件名),谢谢
查看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';
}
}
}