我正在尝试使用boost库中的目录迭代器,并且我想创建一个循环,在其中迭代目录并将文件名放入变量中,我以前可以使用leaf()函数,但现在它已被弃用。我不能使用 path().filename() 甚至可以使用 native() 和 string() ,因为 C 编译器给了我错误。如何在下面修复此代码?
boost::filesystem::directory_iterator end_iter;
for (boost::filesystem::directory_iterator file(dir);file != end_iter;++file)
{
/*check if file is image */
string fileName=file->path().filename().native(); //the error happens here
// i can use path().filename().string() either
boost::match_results<string::const_iterator> what;
if (0 == boost::regex_search(fileName, what, e, boost::match_default))
{
continue;
};
...
谢谢你。