在C++中使用Glob進行文件搜索可以通過以下步驟實現:
包含 <glob.h>
頭文件:首先要包含 <glob.h>
頭文件來使用 Glob 函數。
創建一個 glob_t
結構體變量:Glob 函數會填充一個 glob_t
結構體變量,用于存儲搜索結果。
調用 glob
函數進行文件搜索:使用 glob
函數來搜索文件,它接受一個匹配模式和一個標志參數,將匹配模式應用于文件系統中的文件,并將結果存儲在 glob_t
結構體變量中。
以下是一個簡單的示例代碼,演示如何在C++中使用 Glob 進行文件搜索:
#include <iostream>
#include <glob.h>
int main() {
glob_t globResult;
int returnVal = glob("/path/to/files/*.txt", GLOB_TILDE, NULL, &globResult);
if (returnVal == 0) {
for (size_t i = 0; i < globResult.gl_pathc; ++i) {
std::cout << "Found file: " << globResult.gl_pathv[i] << std::endl;
}
} else {
std::cerr << "Error searching for files." << std::endl;
}
globfree(&globResult);
return 0;
}
在上面的代碼中,glob
函數會搜索指定路徑下的所有 .txt
文件,并將結果存儲在 globResult
結構體變量中。然后我們遍歷搜索結果,打印出每個找到的文件路徑。最后,使用 globfree
函數釋放 globResult
結構體變量的內存。
請注意,Glob 函數返回值為0表示搜索成功,非0值表示搜索失敗。因此,我們在代碼中使用 returnVal
變量來檢查搜索操作是否成功。