c语言glob函数用法
时间: 2023-09-25 21:17:28 浏览: 273
c glob函数是一个用于文件匹配的函数,可以遍历指定文件夹下匹配特定模式的文件。其用法包括以下几个步骤:
1. 首先,在代码中引入头文件`#include <glob.h>`。
2. 创建一个`glob_t`类型的结构体变量`tGlob`,来存储匹配到的文件路径。
3. 使用`glob`函数进行文件匹配,函数原型为`int glob(const char *pattern, int flags, int (*errfunc)(const char *epath, int eerrno), glob_t *pglob)`。其中,`pattern`参数为文件匹配模式,可以使用通配符来进行文件名匹配;`flags`参数用于设置匹配标志,如`GLOB_ERR`表示在匹配过程中出现错误时停止匹配;`errfunc`参数是一个可选的错误处理函数,用于处理匹配过程中的错误;`pglob`参数为指向`glob_t`结构体变量的指针,用于存储匹配到的文件路径。
4. 遍历匹配到的文件路径,可以通过访问`tGlob.gl_pathv`数组来获取每个文件的路径。注意,`tGlob.gl_pathc`表示匹配到的文件数量。
5. 完成文件操作后,使用`globfree`函数释放资源,函数原型为`void globfree(glob_t *pglob)`。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <glob.h>
int main() {
glob_t tGlob;
if (0 != glob("./picture/*.jpg", GLOB_ERR, NULL, &tGlob)) {
printf("failed to load from folder!\n");
}
char fileName = "";
for (int idx = 0; idx < tGlob.gl_pathc; idx++) {
strcpy(fileName, tGlob.gl_pathv[idx]);
阅读全文