glob函数的使用
来源:互联网 发布:社会主义中级阶段知乎 编辑:程序博客网 时间:2024/06/05 22:31
glob库函数用于Linux文件系统中路径名称的模式匹配,即查找文件系统中指定模式的路径。注意,这不是正则表达式匹配,虽然有些相似,但还是有点差别。
glob函数原型
#include <glob.h>
int glob(const char *pattern, int flags,
int errfunc(const char *epath, int eerrno),
glob_t *pglob);
glob函数搜索匹配 函数pattern中的参数,如/*是匹配根文件下的所有文件(不包括隐藏文件,要找的隐藏文件需要从新匹配),然后会将匹配出的结果存放到 pglob,即第4个参数中,第二个参数能选择匹配模式,如是否排序,或者在函数第二次调用时,是否将匹配的内容追加到pglob中,等,第3个参数是查看错误信息用,一般置为NULL;
具体可以在终端下输入 man glob
#include <stdio.h>#include <glob.h> int main(int argc, const char *argv[]) { glob_t buf; int i; glob("/dev/*",GLOB_NOSORT, NULL, &buf); for(i=0; i < buf.gl_pathc; i++) { printf("buf.gl_pathv[%d]= %s \n", i, (buf.gl_pathv[i])); } globfree(&buf); return 0; }
在linux编程中,有时候会用到批量处理文件。比如写一个上传工具,用户输入文件名,如果此时用户使用的是匹配的文件名,那么程序应该做到根据匹配字符串自动搜索符合要求的文件名的功能。
linux有一个glob函数,可以做到这一点,该函数位于头文件glob.h中
#include <iostream>#include <string>#include <glob.h>using namespace std;void print_gl(glob_t &gl){ for(int i=0;i<gl.gl_pathc;i++) { cout<<gl.gl_pathv[i]<<endl; }}void test_glob(int argc , char **argv){ glob_t gl; for(int i=1;i<argc;i++) { gl.gl_offs=0; glob(argv[i],GLOB_TILDE,0,&gl); print_gl(gl); globfree(&gl); } }int main(int argc,char **argv){ if(argc<2) { cout<<"<file name>"<<endl; return 0; } test_glob(argc,argv); return 0;}
原文:http://www.cnblogs.com/pengdonglin137/p/3310032.html
0 0
- glob函数的使用
- 挺实用的函数glob()
- python glob.glob使用
- 获取特定文件路径的函数glob.glob()
- Perl学习笔记(5)glob的使用
- 003.PHP使用glob()函数遍历查找文件
- php glob() 函数
- PHP glob() 函数
- php glob() 函数
- PHP glob() 函数
- PHP glob() 函数
- linux glob函数详解
- python glob使用
- Python glob使用
- 使用glob模块,遍历E盘下的mp3文件
- 使用glob 同步获取指定文件夹下的文件
- glob的疑问
- gulp的node-glob
- ISBN码包括9位数字、1位识别码和3位分隔符
- Hadoop(一)理论体系
- Redis+spring 整合应用教程
- Android菜鸟练习第二十三课 ListView嵌套GridView,GridView中item无法点击
- 分页查询
- glob函数的使用
- 5-1 Insertion or Heap Sort (9分)
- Java防止SQL注入的几个途径
- Android数据库——LitePal的存储操作
- visual studio 2012 安装离线帮助文档help library
- 面试必知的java8新特性-stream
- Mybatis使用generator自动生成映射配置文件信息
- Hadoop(二)——分布式集群搭建
- iOS 异步加载网络图片,获取图片真实尺寸