c库函数 nftw详解
(2009-12-17 10:38:03)
标签:
nftwit |
分类: C |
nftw遍历目录树
表头文件:#include
定义函数:int nftw(const char *dir, int
函数说明:nftw()与ftw()很像,都是从参数dir指定的目录开始, 往下一层层地递归遍历子目录。 每进入一个目录,便会调用参数*fn定义的函数来处理。nftw()会传四个参数给fn(). 第一个参数*file指向当时所在的目录路径,第二个参数是*sb, 为stat结构指针(结构定义请参考stat()),第三个参数为旗标,有底下几种可能值:
FTW_F
FTW_D
FTW_DNR
FTW_SL
FTW_NS
FTW_DP
FTW_SLN
fn()的第四个参数是FTW结构,定义如下:
struct
{
}
nftw()第三个参数depth代表nftw()在进行遍历目录时可同时打开的文件数。
ftw()在遍历时每一层目录至少需要一个文件描述词,如果遍历时用完了depth所给予的限制数目,整个遍历将因不断地关文件和开文件操作而显得的缓慢
nftw()最后一个参数flags用来指定遍历时的动作,可指定下列的操作或用OR组合
FTW_CHDIR
FTW_DEPTH
FTW_MOUNT