溫馨提示×

C++ Glob如何用于文件模式匹配

c++
小樊
121
2024-08-19 18:58:29
欄目: 編程語言

在C++中,可以使用<glob.h>頭文件中的函數來實現文件模式匹配。以下是一個簡單的示例代碼,演示了如何使用glob函數進行文件模式匹配:

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

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

    if (return_value == 0) {
        for (size_t i = 0; i < glob_result.gl_pathc; i++) {
            std::cout << glob_result.gl_pathv[i] << std::endl;
        }
    } else {
        std::cerr << "Error in glob function" << std::endl;
    }

    globfree(&glob_result);

    return 0;
}

在上面的示例中,glob函數會將當前目錄下所有以.txt結尾的文件路徑存儲在glob_result中。然后,我們遍歷glob_result.gl_pathv數組,打印出匹配的文件路徑。最后,使用globfree函數釋放glob_result占用的內存空間。

注意,glob函數的第二個參數GLOB_TILDE表示解析路徑中的波浪線(~),用來表示用戶的家目錄。如果要匹配其他文件模式,只需將第一個參數中的"*.txt"替換為自己需要的文件模式即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女