问题标签 [fstat]

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 回答
1289 浏览

c++ - 使用 boost 获取文件的所有者和组

我想使用 boost::filesystem 从文件中获取所有者和组,但从未找到任何方法。

我可以获得文件的权限,但由于我不知道文件的所有者,这并不意味着什么。

我找到了 posix fstat 函数,但我还是想使用 boost 或其他 C++ 库而不是 C 函数。

0 投票
1 回答
883 浏览

c - 使用 fstat 确定文件类型

所以,我有一个任务,基本上是比较系统调用与库函数的速度的练习。我们正在对通过标准输入从文件中获取的字符串进行排序。我们应该确定该文件是否是常规文件或不使用 fstat。我已经阅读了手册页,虽然我知道它的作用,但我在弄清楚如何使用它时遇到了问题。

我知道它返回一个 stat 结构,所以我可以直接创建一个变量并像这样存储它吗?前任:

这就是你获得结构的方式吗?是不是退回到别的地方了?我需要访问 off_t st_size 变量,所以我知道文件有多少字节。可以将其转换为int吗?

此外,显然您可以使用 st_mode 字段来检查文件是否是常规文件(使用宏 S_ISREG),但是......如何?它是返回真还是假?这很烦人,因为我可以找到所有这些文档,告诉我这些字段是什么,但不知道如何使用它们。

如果我有一个常规文件,我应该在任何函数调用之前分配足够的内存来存储它。如果不是,那么我在阅读时重新分配内存。我已经完成了第二部分,我只是不知道如何正确使用 fstat。

0 投票
2 回答
3766 浏览

freebsd - fstat - freebsd 系统上的文件描述符总数?

如何获取系统中文件描述符的当前计数?

我知道如何获得最大值。

参考:

http://www.freebsd.org/cgi/man.cgi?query=fstat&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html

0 投票
1 回答
1561 浏览

c - c 使用 fstat 问题比较文件大小

我比较 2 个文件大小的代码似乎表现得好像keyfile> sourcefile。下面的代码中是否缺少某些内容,我可以更改什么?我用于测试的两个文件是 3kb 密钥文件和 14kb 源文件,它们应该会激活if下面提供的最后一条语句。

0 投票
1 回答
1022 浏览

c - fstat() st_nlink=1 即使在链接更多文件之后

输出: nlinks before = 1 nlinks after = 1

为什么 st_nlink 总是 = 1 即使文件至少有 3 个链接?另外,如果我改用,lstat我会得到 3 个 st_nlinks。为什么?

0 投票
1 回答
336 浏览

c - 在调用 fstat 之前调用 fsync 的任何理由

我有一段遗留代码在调用以确定目标文件的文件大小fsync之前发出调用。fstat(特别是代码只是从 stat 结构中访问 st_size 。)

看过文档后,我不认为这是一个必要的电话,但我想要专家的意见。

0 投票
1 回答
662 浏览

c - 使用旧版 glibc 在 Linux 中监视文件更改

我需要使用文件描述符监视常规文件上的事件。我正在使用 CentOS 4.1 和内核版本 2.6.18.128 的机器上工作。

在意识到使用 无法监视常规文件后epoll,我发现使用 可以完成此任务inotify。但是,我在其他地方读到,所需的库接口inotify已在 2.4 版中添加到 glibc,并且我的机器安装了 2.3.4 版。所以我的内核通过 not glibc 支持 inotify。不幸的是,我无法将glibc 更新到较新的版本,因为它会破坏项目的某些其他部分。

所以我的问题是:

  1. 我还能用它inotify来监控常规文件吗?我可以获取更新版本的 glibc 并将其放在本地文件夹(相对于我的代码),在我的 Makefile 中包含路径并使用与关联的调用inotify吗?如果是这样,我会遇到什么样的问题?
  2. 另一种方法是使用fstat,通过跟踪结构的st_mtime成员struct stat。采取这条路线有什么注意事项吗?

如果我的问题表明对这些概念缺乏理解,请在我刚开始使用它们时多多包涵。

0 投票
1 回答
975 浏览

c - Linux 描述符类型

如何获取描述符类型?我正在使用 epoll 来监视许多描述符,例如套接字、计时器和信号。我看到使用 fstat 是可能的,但该模式只说明了套接字和管道。fstat 联机帮助页。是否有识别描述符的特殊功能?

0 投票
1 回答
7917 浏览

c - fstat 返回 0 文件大小

我以为我理解 fstat,我错了。

我需要知道文件的大小,然后从文件中读取。

fileN 具有文件的路径和文件的名称。它看起来像这样。0.txt

为什么我需要fd = open(fileN, "r");使用 fstat?感觉就像我打开文件两次。

如果 fileStat 是一个结构,为什么我要使用fileStat.st_size而不是fileStat->st_size像我在创建自己的结构时那样使用?示例:myString->characters;

为什么上面的代码在printf执行时会打印 0?是的,文件的大小大于 0,我有正确的文件名和路径。

上面的所有代码都是我对在 Google 上搜索并与我的试错实现混合的代码的解释。这就是为什么我有这么多问题。

编辑:解决方案:open() 被调用错误并影响文件。

0 投票
2 回答
1002 浏览

c++ - 如何检查zip文件或压缩文件是否存在?

如果我不知道一个文件是否存在。如果它存在,我将根据该文件中的内容做一些事情。该文件可以是 .txt 或 .gz 格式,该文件也可以不存在。下面是我的代码:

我想检查一个具有相同名称的文件和一个必须具有的文件,例如 hello.abc 但我要检查的文件可能是 hello.abc 或 hello.gz 甚至不存在。如果我按照上面的方式进行当文件 hello.txt 或 hello.gz 完全不存在时出现错误。我该如何解决?