问题标签 [nftw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - BSD 上的 nftw 不同?
我正在尝试使用nftw
以下代码获取目录树中的所有 .c 文件:
它可以在 Linux 和 Solaris 上运行,但在 PC-BSD 上它会因为不拾取任何文件而失败。我错过了什么?
c - 使用 nftw 时如何避免使用全局变量
我想使用 nftw 遍历 C 中的目录结构。
但是,鉴于我想做的事情,我看不到使用全局变量的方法。
使用 (n)ftw 的教科书示例都涉及打印文件名之类的操作。相反,我想获取路径名和文件校验和并将它们放在数据结构中。但是,考虑到可以传递给 nftw 的内容的限制,我看不到这样做的好方法。
我正在使用的解决方案涉及一个全局变量。然后 nftw 调用的函数可以访问该变量并添加所需的数据。
有没有任何合理的方法可以在不使用全局变量的情况下做到这一点?
c - 为什么会出现分段错误?我正在使用 stat、mmap、nftw 和 memcmp 等
这是我的代码。我假设这与指针使用不当有关,或者我没有正确映射和取消映射我的内存。
谁能给我一些关于这个问题的见解?
编辑
我现在在使用 stat 函数之前声明我的 struct stat sb1 。之后,我再次收到分段错误。然后我注释掉我的 nftw() 调用并打印出 size 变量(它有一个合理的数字,所以我相信这是有效的)。新的错误是:
取消映射时出错。
c - nftw 以未定义的值传递 tflag
像这样使用 nftw 遍历目录时,
nftw 在遇到目录时将值 5 传递给 rm 函数的 tflag 参数。ftw.h 标头只为 tflag 参数指定了一个具有 4 个值 (0-3) 的枚举,其中 FTW_D 或 1 是目录的适当值。fpath 值似乎在所有情况下都是正确的。
所以我的问题是这个。为什么它为 tflag 传递 5 而不是 1,而 5 对 tflag 意味着什么?
编辑:
该值实际上是 FTW_DP(目录,已访问所有子目录),它在下面的环境相关部分中定义,我没有注意到。
flags - 如何指定 nftw 标志
这是我的nftw
功能,它在指定标志FTW_DEPTH
和之前正常工作FTW_PHYS
:
我也将访问定义为:
但是编译后它给出了错误:
'FTW_DEPTH' 未声明(在此函数中首次使用)
c - 在 c 中使用 ntfw 时跳过子目录
我正在尝试使用nftw 获取当前或提到的文件夹中的所有文件和目录。但是我如何指示函数不要在任何子目录中走得更远?国旗的目的是什么FTW_SKIP_SUBTREE
?还有这个常量的头文件是什么。
当我尝试编译时,我收到此消息
c - C:使用 nftw 指定最大搜索深度
在 C 中,有没有办法指定 nftw 将搜索的基目录的最大深度?例如,假设dir
我要搜索的目录有一个子子目录,但我只希望 nftw 搜索subdir
而不是sub-subdir
,或低于该目录的任何内容。
linux - 如何使用ftw删除目录内容
我们可以使用 FTW_DEPTH 删除非空目录。但我想删除目录的内容,而不是目录本身,类似于 rm -rf dir/*。
如何使用 nftp/ftw 实现这一点?
c - C中带有nftw函数的目录的递归路径
我正在尝试使用该nftw()
函数通过某些文件的总和来计算目录的大小。但是,如果我不能使用全局变量来存储大小的总和,我该如何处理总和,而我必须使用函数nftw()
?