- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码:
#include <ftw.h>
#include <stdio.h>
#include <string.h>
int nftw_stat(const char *path, const struct stat *stat, int flags,
struct FTW *ftw)
{
if (strcmp(path, "/home/pf/.gvfs\0") == 0) {
printf("nftw()\n");
printf("mode = %d\n", stat->st_mode);
printf("size = %d\n", (int) stat->st_size);
}
return 0;
}
int main()
{
if (nftw("/home/pf", &nftw_stat, 1, FTW_PHYS)) {
perror("nftw");
return 2;
}
}
sudo
执行它时,它返回这个:
stat()
与
sudo
它给了我权限被拒绝的错误。这只发生在
.gvfs
目录,其权限为 500 (dr-x------)。如
sudo
无法阅读
stat()
,为什么它适用于
nftw()
? :|
最佳答案
可能发生的情况是目录上的 stat 失败了,但无论如何您都在打印 stat 结构的值,这意味着您得到了垃圾。您需要检查 typeflag 的值,您在 nftw_stat 例程中将其称为“flags”,以确保 stat 已成功设置 stat 结构。
int nftw_stat(const char *path, const struct stat *stat, int typeflag,
struct FTW *ftw)
{
if (typeflag == FTW_NS) {
printf("stat failed on %s\n", path);
return 1;
}
if (strcmp(path, "/home/pf/.gvfs\0") == 0) {
printf("nftw()\n");
printf("mode = %d\n", stat->st_mode);
printf("size = %d\n", (int) stat->st_size);
}
return 0;
}
关于C:nftw() 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132622/
我有这个代码: #include #include #include int nftw_stat(const char *path, const struct stat *stat, int f
nftw() 是否有线程安全的实现?在 C/C++ 中?在文档中它说 "The nftw() function need not be thread-safe." 我将使用 nftw 作为递归删除函数
nftw 需要一个参数来表示要使用的文件句柄的数量。我见过几个将其指定为 20 的示例(这是 POSIX 保证的最小值?但也可以使用 getrlimit 或 sysconf 来获取实际的可用数量)。是
我正在尝试使用 C 的 nftw() 函数递归迭代一个文件夹,以打印完整的目录结构,同时我找不到检查级别是否已更改的方法,即它已移入目录或仅在目录中迭代。那么,有什么方法可以使用 nftw() 检查级
像这样使用 nftw 遍历目录时, nftw((argc < 2) ? "." : argv[1], rm, 20, FTW_DEPTH|FTW_PHYS) nftw 在遇到目录时将值 5 传递给 r
在 C 中,有没有办法指定 nftw 将搜索的基本目录的最大深度?例如,假设我要搜索的目录 dir 有一个 sub-subdirectory,但我只希望 nftw 通过 subdir 搜索而不是 su
我想用nftw在C中遍历一个目录结构。 但是,考虑到我想做的事情,我看不到使用全局变量的方法。 使用 (n)ftw 的教科书示例都涉及执行诸如打印文件名之类的操作。相反,我想获取路径名和文件校验和并将
我正在使用 POSIX 调用 nftw() 来遍历目录结构。目录结构是扁平的——只有 4 个文件,没有子目录。 然而,当我在这个平面目录上多次调用 nftw() 时,一段时间后我收到一条错误消息: "
我正在尝试使用 nftw处理目录下的一些文件 #include #include int wrapper(const char * fpath, const struct stat *sb, i
我写了一小段代码,使用 nftw 系统调用来进行树行走。 int flags =0; flags = flags | FTW_MOUNT; int nopenfd = 10; if( nftw( ar
我正在尝试使用带有以下代码的 nftw 获取目录树中的所有 .c 文件: static int gf(const char *path, const struct stat *st, int t, s
我从 opengroup.org 读了两个手册页( ftw 、 nftw ),所以我认为 ftw() 和 nftw() 不能保证线程-安全。 但我找到了另一个 page关于这些函数,请参阅 man7.
这是我的代码。我假设这与指针使用不当有关,或者我没有正确映射和取消映射我的内存。 谁能给我一些关于这个问题的见解? #define _XOPEN_SOURCE 500 #include #inclu
我是一名优秀的程序员,十分优秀!