glob和snprintf

来源:互联网 发布:java如何查内存泄露 编辑:程序博客网 时间:2024/05/19 03:17
glob函数
        用于linux文件系统中路径名称的模式匹配。
  1. #include<glob.h>
  2. int glob(const char *pattern, int flages, int (*errfunc)(const char* epath, int errno),
  3. glob_t *pglob);
  4. void globfree(glob_t *pglob);
glob函数搜索pattern中的参数,然后把匹配的结果放到pglob中。
第二个参数选择模式匹配模式(如是否排序,或者在函数二次调用的时候,是否将匹配的内容追加到pglob中。
第三个参数是查看错误信息。一般置为NULL。
  1. glob_t
  2. typedef struct
  3. {
  4. int gl_pathc; //匹配已知模式串的文件名个数
  5. char **gl_pathv; //匹配模式串中的文件名数组
  6. int gl_offs; //slots to reserver in gl_pathv gl_pathv中预留的位置
  7. }glob_t;
glob_t使用完成后必须通过globfree释放内存。
-------------------------------------------------------------------------------------------------------------
  1. #inlcude <stdio.h>
  2. int snprintf(char *buffer, size_t n, const char *format, ···);
功能:
格式化输出n-1个字符到buffer中。最多从源串中拷贝n-1个字符到目标串中,然后在最后面加一个0,所以如后目标串的大小为n的话,将不会溢出。
函数的返回值:
若执行成功则返回预写入的字符串长度,而不是实际写入的长度。执行失败返回负值。
原创粉丝点击