ftw遍历目录树

表头文件:#include
定义函数:int  ftw(const char *dir, int (*fn) (const *file, const struct stat *sb, int flag), int depth)
函数说明:ftw() 会从参数dir指定的 目录开始,往下一层层地递归式遍历子 目录。ftw()会传三个参数给fn(), 第一个参数*file指向当时所在的 目录路径,第二个参数是*sb, 为stat结构指针,第三个参数为旗标,有下面几种可能值:
FTW_F        一般文件
FTW_D       目录
FTW_DNR    不可读取的 目录,此 目录以下将不被遍历
FTW_SL       符号连接
FTW_NS       无法取得stat结构数据,有可能是 权限问题
最后一个参数depth代表ftw()在进行遍历 目录时同时打开的文件数。ftw()在遍历时每一层 目录至少需要一个文件描述词,如果遍历时用完了depth所给予的限制数目,整个遍历将因不断地关文件和开文件操作而显得缓慢.
如果要结束ftw()的遍历,fn()只需返回一非零值即可,此值同时也会是ftw()的返回值。否则ftw()会试着走完所有的 目录,然后返回0.
返回值:遍历中断则返回fn()函数的返回值,全部遍历则返回0,若有错误发生则返回-1.
附加说明:由于ftw()会动态配置 内存使用,请使用正常方式(fn函数返回非零值)来中断遍历,不要在fn函数中使用longjmp().
示例:
/*列出/etc/X11 目录下的子 目录*/
#include
#include
#include
int  fn(const  char *file, const struct stat *sb, int flag)
{
     if(flag == FTW_D)  
         printf("%s --- directory/n", file);
     else
         printf("%s /n",file);  
     return 0;
}
int main()
{
   ftw("/etc/X11",fn,500);
}

getcwd取得当前的工作目录

表头文件:#include
定义函数:char *getcwd(char *buf, size_t size)
函数说明:getcwd()会将当前的工作 目录绝对路径复制到参数buf所指的 内存 空间,参数size为buf的 空间大小。在调用此函数时,buf所指的 内存 空间要足够大,工作 目录绝对路径的字符串长度超过参数size大小,则返回NULL,errno的值则为ERANGE。倘若参数buf为NULL, getcwd()会依参数size的大小自动配置 内存(使用malloc()),如果参数size也为0,则getcwd()会依工作 目录绝对路径的字符串长度来决定所配置的 内存大小,进程可以在使用完此字符串后利用free()来释放此 空间.
返回值:执行成功则将结果复制到参数buf所指的 内存 空间,或是返回自动配置的字符串指针。失败返回NULL,错误代码存于errno.
#include
int main()
{
    char  buf[80];
    getcwd(buf, sizeof(buf));
    printf("current working directory : %s/n ",buf);
    return  0;
}

原文地址 http://www.cnscn.org

ftw遍历目录树 getcwd取得当前的工作目录相关推荐

  1. oracle 生成目录树,jQuery zTree插件快速实现目录树

    ztree是JQuery的一个开源树形目录的插件,用来快速构建网站的树形目录结构,并且提供了功能丰富,利于扩展的API. JQuery ztree官网 只要引入jquery和ztree的库js,然后给 ...

  2. python工作目录是什么意思_Docker的工作目录是什么意思?

    你知道Linux下面的pwd命令么?用来显示当前路径的绝对地址的那个. 如果你知道它的全拼,你就不会有这个问题了. pwd的全拼是"print working directory" ...

  3. php getcwd文件件,PHP目录函数 getcwd (取得当前工作目录)

    在PHP中,目录函数 getcwd() 用于取得当前工作目录. 函数语法:string getcwd ( ) getcwd() 函数用于取得当前工作目录,成功则返回当前工作目录,失败返回 false. ...

  4. java7 文件_Java SE 7新特性之文件操作(9) - 遍历目录树

    在有些时候,我们可能需要遍历整个目录树,例如需要寻找所有的.java文件.Java SE 7提供了很方便的方法来实现这类的功能. Java SE 7提供的实现这类功能的方法就是FileVisitor接 ...

  5. C#表达式目录树系列之5 –动态创建查询表达式

    概要 在项目开发中,根据用户的需求,一般来是,我们的查询表达式是固定的,新的查询需求都要通过代码的修改来实现.而对于不确定的查询条件,固定查询表达式的方式显然是行不通的. 针对固定查询表达式存在的问题 ...

  6. tree命令详解(输出目录树层结构,显示目录和文件)

    你也想要生成这个目录树层结构吗?显示目录和文件吗?只需要用"tree命令"即可! 效果如下: . ├── README.md ├── auto-imports.d.ts ├── c ...

  7. Hadoop_NameNode_代码分析_目录树(2)

    (1)NameNode的内存中保存了庞大的目录树结构,这个结构用来保存文件目录结构和文件Block之间的映射,这种结构关系会固化在磁盘上,但是对树的改动频繁发生,什么时候将树写入磁盘呢?把每次操作应用 ...

  8. Linux下的tree命令 --Linux下目录树查看

    Linux下的tree命令 --Linux下目录树查看 有时我们需要生成目录树结构,可以使用的有ls -R,但是实际效果并不好 这时需要用到tree命令,但是大部分Linux系统是默认不安装该命令的, ...

  9. java查找目录文件函数_java 实现 文件操作工具集。包括文件、目录树的拷贝、删除、移动、查找等工具函数...

    import java.io.*; /** * 文件操作工具集.包括文件.目录树的拷贝.删除.移动.查找等工具函数. * @author InternetTeam3 * @version 1.0 */ ...

  10. C#学习基本概念---xcopy(复制文件和目录树)

    XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非 ...

最新文章

  1. 武汉网络推广介绍如何通过简化标题来提升主关键词排名?
  2. Cocos2D粒子发射器的纹理
  3. 【Android基础】Android Toast显示消息的几种方法
  4. 怎么撤销定时说说_已注册商标遇到撤三申请怎么办
  5. 即时通讯学习笔记002---xmpp基本概念
  6. redis配置文件redis.conf详细说明
  7. 回文问题‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
  8. Grid++Report——打印功能
  9. array(numpy) 的size 和Image(PIL) 的shape比较
  10. vs.net已经检测到制定的WEB服务器运行的不是ASP.NET1.1版,你无法运行ASP.NET WEB应用程序或服务...
  11. Java基础面试题(持续更新)
  12. 关于S参数的一些理解
  13. tds与oracle,oracle和sqlserver找不到字段的错误
  14. 在docker容器中创建用户组和用户,并且多用户共用一个anaconda环境
  15. 雅可比(Jacobi)计算特征值和特征向量
  16. Apache CXF框架简介
  17. 网站seo优化推广方式有哪些?如何提高网站排名?
  18. 国庆三亚自由行(Part 2 第二日之阳光沙滩美女烧烤)
  19. PDF格式转换为WORD格式
  20. 转载 科大讯飞jh再裁员 员工称公司管理混乱、产品质量差

热门文章

  1. 智和网管平台SugarNMS政府部门综合网管
  2. 【高级持续性威胁追踪】来自Mustang Panda的攻击? 我兔又背锅了!
  3. python自动玩2048
  4. 模电_第七章_正弦波振荡电路
  5. 美女联系网站作者删除之前的写真照
  6. 结构思考力-读书笔记
  7. 第 16 章 下载数据
  8. matlab 获取文件毫秒时间,Matlab:将文件日期以毫秒转换为Matlab时间格式
  9. idea 复制java文件_IDEA复制项目Module出现java文件夹source root解决方法
  10. pycharm ssh interpreter 搭建