问题标签 [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.

0 投票
1 回答
267 浏览

c - BSD 上的 nftw 不同?

我正在尝试使用nftw以下代码获取目录树中的所有 .c 文件:

它可以在 Linux 和 Solaris 上运行,但在 PC-BSD 上它会因为不拾取任何文件而失败。我错过了什么?

0 投票
3 回答
5361 浏览

c - 使用 nftw 时如何避免使用全局变量

我想使用 nftw 遍历 C 中的目录结构。

但是,鉴于我想做的事情,我看不到使用全局变量的方法。

使用 (n)ftw 的教科书示例都涉及打印文件名之类的操作。相反,我想获取路径名和文件校验和并将它们放在数据结构中。但是,考虑到可以传递给 nftw 的内容的限制,我看不到这样做的好方法。

我正在使用的解决方案涉及一个全局变量。然后 nftw 调用的函数可以访问该变量并添加所需的数据。

有没有任何合理的方法可以在不使用全局变量的情况下做到这一点?

这是上一篇关于 stackoverflow 的交流,其中有人建议我将其发布为后续内容。

0 投票
1 回答
1105 浏览

c - nftw 线程安全

在 C/C++ 中是否有任何线程安全的nftw()实现?在文档中它说

“nftw() 函数不必是线程安全的。”

我将使用 nftw 作为递归删除函数来遍历多线程应用程序中的目录结构。

0 投票
2 回答
5589 浏览

c - 为什么会出现分段错误?我正在使用 stat、mmap、nftw 和 memcmp 等

这是我的代码。我假设这与指针使用不当有关,或者我没有正确映射和取消映射我的内存。

谁能给我一些关于这个问题的见解?

编辑

我现在在使用 stat 函数之前声明我的 struct stat sb1 。之后,我再次收到分段错误。然后我注释掉我的 nftw() 调用并打印出 size 变量(它有一个合理的数字,所以我相信这是有效的)。新的错误是:

取消映射时出错。

0 投票
1 回答
436 浏览

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(目录,已访问所有子目录),它在下面的环境相关部分中定义,我没有注意到。

0 投票
1 回答
1482 浏览

flags - 如何指定 nftw 标志

这是我的nftw功能,它在指定标志FTW_DEPTH和之前正常工作FTW_PHYS

我也将访问定义为:

但是编译后它给出了错误:

'FTW_DEPTH' 未声明(在此函数中首次使用)

0 投票
1 回答
1584 浏览

c - 在 c 中使用 ntfw 时跳过子目录

我正在尝试使用nftw 获取当前或提到的文件夹中的所有文件和目录。但是我如何指示函数不要在任何子目录中走得更远?国旗的目的是什么FTW_SKIP_SUBTREE?还有这个常量的头文件是什么。

当我尝试编译时,我收到此消息

0 投票
1 回答
3007 浏览

c - C:使用 nftw 指定最大搜索深度

在 C 中,有没有办法指定 nftw 将搜索的基目录的最大深度?例如,假设dir我要搜索的目录有一个子子目录,但我只希望 nftw 搜索subdir而不是sub-subdir,或低于该目录的任何内容。

0 投票
1 回答
323 浏览

linux - 如何使用ftw删除目录内容

我们可以使用 FTW_DEPTH 删除非空目录。但我想删除目录的内容,而不是目录本身,类似于 rm -rf dir/*。

如何使用 nftp/ftw 实现这一点?

0 投票
1 回答
982 浏览

c - C中带有nftw函数的目录的递归路径

我正在尝试使用该nftw()函数通过某些文件的总和来计算目录的大小。但是,如果我不能使用全局变量来存储大小的总和,我该如何处理总和,而我必须使用函数nftw()