像这样使用 nftw 遍历目录时,
nftw((argc < 2) ? "." : argv[1], rm, 20, FTW_DEPTH|FTW_PHYS)
nftw 在遇到目录时将值 5 传递给 rm 函数的 tflag 参数。ftw.h 标头只为 tflag 参数指定了一个具有 4 个值 (0-3) 的枚举,其中 FTW_D 或 1 是目录的适当值。fpath 值似乎在所有情况下都是正确的。
所以我的问题是这个。为什么它为 tflag 传递 5 而不是 1,而 5 对 tflag 意味着什么?
编辑:
该值实际上是 FTW_DP(目录,已访问所有子目录),它在下面的环境相关部分中定义,我没有注意到。