ftw遍历目录树

表头文件:#include <ftw.h>
定义函数: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().

示例:
#include <sys/stat.h>
#include <unistd.h>
#include <ftw.h>
#include <stdio.h>int fn(const char *file, const struct stat *sb, int flag)
{if(flag == FTW_D)						// 如果对象是目录printf("Directory:\t%s\n", file);//else//	printf("File:\t\t%s\n", file);return 0;
}int main()
{ftw("/home/zcm/program/eclipse", fn, 5000);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于用display:table让元素居中的小结

让元素垂直居中有一种简单的方法:给需要居中的元素用一个父级包起来&#xff0c;并给父元素添加样式’display&#xff1a;table’,同时给这个父级设置好高度,再给需要居中的元素一个display&#xff1a;table-cell,vertical-align:middle;这样被设置的元素就可以做到垂直居中 …

谷歌联合 Adobe 发布 Noto 字体【免费下载】

Noto 涵盖了世界上所有主要语言&#xff0c;包括欧洲&#xff0c;非洲&#xff0c;中东&#xff0c;印度语&#xff0c;南亚和东南亚&#xff0c;中亚&#xff0c;美洲和东亚语言。也支持几个少数民族和历史语言。不久前&#xff0c;还发布了针对文、日文、韩文的开源字体——N…

5月8日全国软考办专家做客51CTO谈:软考政策、考前复习方法及考场技巧

访谈实录>>软考专家访谈实录之一&#xff1a;分数线和通过率是如何确定的&#xff1f;软考专家访谈实录之二&#xff1a;今年的试题会增加难度吗&#xff1f;软考专家访谈实录之三&#xff1a;论文应考秘笈2008年上半年全国软考时间&#xff1a;5月24日、25日。软考临近&…

Vue之引用DOM的ref属性

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用&#xff0c;引用信息就是元素; 如果用在子组件上&#xff0c;引用信息就是组件实例 注意&#xff1a;只要想要在Vue中直接操作DOM元素&#xff0c;就必须用r…

Neutron中的Service类

Service是OpenStack中非常重要的一个概念&#xff0c;各个服务的组件都以Service类的方式来进行交互。 Neutron中的Service类继承自rpc中的Service&#xff0c;总体的继承关系为 neutron.openstack.common.service.Service类-->neutron.common.rpc.Service类-->neutron.s…

[Linux C]列出指定目录下的所有文件(夹)

在Linux下&#xff0c;用C语言实现列出指定目录下的所有文件和文件夹&#xff1a; #include <stdio.h>#include <dirent.h>#include <stdlib.h>int main(){DIR *dirp;struct dirent *direntp;dirp opendir("/home/zcm/program/eclipse");if(dirp…

打扫房间,做减法

今天和很多同事都聊了聊天&#xff0c;对于现有的产品&#xff0c;如何更好的修订&#xff0c;大致形成了一个思路&#xff1a; 打扫房间&#xff0c;让产品更加的干净&#xff0c;使其易于维护和修订 做减法&#xff0c;去掉无用和临时增加的功能&#xff0c;使其更加易用 定期…

NetBeans中文乱码解决办法

首先来看看网上的一篇文章&#xff1a;http://it.dengchao.org/neatbeans-problem-fedora/linux/ 在Windows和Linux(Fedora/Ubuntu/RedHat)中安装了NetBeans后&#xff0c;会遇到菜单等显示乱码的问题。这里告诉大家如何解决中文显示乱码的问题&#xff0c;包括Windows、Fedor…

bashrc,bash_profile和/etc/profile

bashrc,bash_profile和/etc/profile 最近老出现在shell里面能跑的程序用鼠标双击app去不能跑.究其原因是因为环境变量的问题. 在类unix系统中一般有三个bash配置文件: ~/.bashrc 当前用户使用的配置文件~/.bash_profile 当前用户使用的配置文件/etc/profile 所有用户都会继承的…

Vue之$nextTick属性

因为Vue中DOM的更新是异步的&#xff0c;所以一般涉及到DOM的操作都会放在nextTick函数的回调中去执行 将回调延迟到下次 DOM 更新循环之后再执行。在修改数据之后立即使用它&#xff0c;然后等待 DOM 更新之后执行回调。它跟全局方法 Vue.nextTick 一样&#xff0c;不同的是回…

小程序input实现数据双向绑定

小程序input实现数据双向绑定最终效果index.wxmlindex.js最终效果 index.wxml <view class"uploader"><input type"number" style"border: 2rpx solid #666;" bindinputinputChange data-namepeopleNumber placeholder"输入人数&…

JS之字符串分割方法split

作用&#xff1a;JavaScript split() 方法用于把一个字符串分割成字符串数组 语法&#xff1a;stringObject.split(separator,howmany) 参数1&#xff1a;separator必选&#xff0c;字符串或正则表达式&#xff0c;从该参数指定的地方分割 stringObject 参数2&#xff1a;ho…

在 Laravel 中,清空缓存大全

在 Laravel 中&#xff0c;清空缓存通常涉及到清除应用程序中的缓存文件和数据库查询缓存。以下是一些常用的清空缓存方法&#xff1a; 1. 清除路由缓存&#xff1a; Laravel 的路由缓存可以提高应用程序的性能&#xff0c;但在开发过程中&#xff0c;你可能需要频繁地更改路…

[Windowns C]递归遍历指定目录下的子目录和文件

/*功能&#xff1a;演示了利用C语言递归遍历指定目录下的子目录和文件!说明&#xff1a;经修改也可以搜索文件名符合特定格式的文件&#xff0c;如修改“\\*.*”为“\\*.log”*/#include <iostream> #include <string> #include <io.h>using namespace std;v…

资深工程师为何否定这种单例模式

本人在 横刀天笑 的一篇谈论单例模式的文章http://www.cnblogs.com/yuyijq/archive/2007/10/07/915941.html里面有两种写单例的例子.有一种方法得到资深工程师的否定.事实证明他的想法是错误的。 第一种:publicclassSingleton2{ 3 private static Singleton _instance null…

汇编Ring 3下实现 HOOK API

【文章标题】汇编ring3下实现HOOK API 【文章作者】nohacks(非安全,hacker0058) 【作者主页】hacker0058.ys168.com 【文章出处】看雪论坛(bbs.pediy.com) [ 汇编ring3下实现HOOK API ] Author: nohacks …