我目前正在使用glob
来匹配包含通配符的输入字符串的UNIX路径名。我的脏代码看起来像这样:
glob_t gl;
int result = glob(inputString, GLOB_TILDE, NULL, &gl);
try {
// do whatever
} catch(...) {
globfree(&gl);
throw;
}
globfree(&gl);
我想知道是否有更聪明的方法在C ++中完成这项工作。我一直在寻找一个类,它会在析构函数中封装对globfree
的调用或类似的东西,但没有找到任何开箱即用的东西。
答案 0 :(得分:2)
更聪明,完全是C ++ - 做你想做的事的方式是使用http://www.boost.org/doc/libs/1_54_0/libs/filesystem/doc/index.htm
特别是directory_iterator
可以帮助您完成您想要的任务。
请参阅优秀的tutorials了解如何使用它!