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_pathc
和glob_result.gl_pathv
來遍歷并輸出匹配的文件名。
需要注意的是,在使用完glob
函數后,需要調用globfree
函數釋放內存。