温馨提示×

C++ Glob如何处理通配符

c++
小樊
85
2024-08-19 19:05:31
栏目: 编程语言

C++中的glob函数可以用来处理通配符。通配符是一种用来匹配文件名的模式,其中包含了一些特殊字符,如*?glob函数可以根据通配符模式匹配相应的文件名,并返回匹配的文件列表。

下面是一个使用glob函数处理通配符的示例代码:

#include <iostream>
#include <glob.h>

int main() {
    glob_t glob_result;
    int ret = glob("*.txt", GLOB_TILDE, NULL, &glob_result);

    if (ret == 0) {
        for (size_t i = 0; i < glob_result.gl_pathc; i++) {
            std::cout << glob_result.gl_pathv[i] << std::endl;
        }
    }

    globfree(&glob_result);

    return 0;
}

在这个示例中,glob函数会匹配当前目录下所有以.txt结尾的文件,并将匹配的文件名存储在glob_result结构体中。然后我们可以通过glob_result.gl_pathcglob_result.gl_pathv来遍历并输出匹配的文件名。

需要注意的是,在使用完glob函数后,需要调用globfree函数释放内存。

0