问题标签 [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 投票
2 回答
2919 浏览

c - 在 C 中获取文件的权限

我正在寻找一种方法来检查并确保文件可读、可写并且存在,如果不是,我想打印一条消息说明这一点。我相信我正在寻找的信息可以使用 fstat() 找到,我只是不知道获取它的正确方法。

如果我尝试使用 O_RDRW 打开不可读、不可写或不存在的文件,则 open 设置了特定的 errno,我认为这将是理想的解决方案。

这是我尝试过的:

我在尝试编译时收到以下错误:

0 投票
1 回答
537 浏览

c - 读取后的 fstat 行为

在许多情况下,我看到在从调用open分配文件描述符之后直接执行fstat调用:

如果已经执行了read first 调用, fstat 的行为是否会有所不同?

“行为不同”是指:fstat 的返回值或“struct stat”缓冲区输出中的任何内容在那种情况下是否不同?

stat_log 的任何与大小相关的成员现在是否代表剩余要读取的文件的大小?

如果我已经读到了文件的末尾,那么之后执行对 fstat 的调用会导致失败吗?(fstat 返回 -1)

该 fstat 文档似乎没有表明文件描述符需要引用尚未读取的文件。你有没有发现任何其他的指示?

0 投票
2 回答
36 浏览

c++ - 如何使用 mmap 获取共享文件的进程数?

有什么方法可以获取映射到特定文件的进程数?

实际上,我想在所有进程都关闭时删除由多个进程共享的文件。有没有办法做到这一点?

我尝试使用fstat函数调用来获取数量,hard links但由于映射后我正在关闭文件,所以stat.st_nlink总是如此0

0 投票
2 回答
2157 浏览

c - Printing info of a file/director (inode)

I want to print some information of a directory. My code is:

I'm getting some warnings:

Arrows show the line of each warning. Can you help? Thanks in advance!

0 投票
5 回答
10630 浏览

c - 使用 fstat() 与 stat() 的优势是什么?

如果我有一个具有已知文件描述符的打开文件,那么使用fstat(), 与 相比有什么优势stat()?为什么不是只有一个功能?

0 投票
1 回答
6954 浏览

python - 如何从statsmodels python中的results.f_test中提取F统计量和P值

我运行 OLS.fit() 并使用拟合模型来获取特定类别的 f 值,例如 ANCOVA 中。

结果的形式为

我怎样才能从这种格式中获取 F 数组和 p 值?还是有可能?

0 投票
4 回答
9420 浏览

c++ - 检查 fstream 是文件还是目录

我正在使用 C++ fstream 来读取配置文件。

现在,如果我传递一个目录的路径,它会默默地忽略它。例如my_file.good()返回真,即使my_filename是一个目录。由于这是我的程序的意外输入,我喜欢检查它并抛出异常。

如何检查刚刚打开的 fstream 是否为常规文件、目录或流?

我似乎无法找到一种方法:

  • 从给定的 ifstream 中获取文件描述符。
  • 使用其他机制在 ifstream 中查找此信息。

一些论坛讨论中,有人建议两者都不可能,因为这取决于操作系统,因此永远不可能成为 fstream C++ 标准的一部分。

我能想到的唯一选择是重写我的代码以完全摆脱 ifstream 并诉诸文件描述符 ( *fp) 的 C 方法,以及fstat()

我更喜欢fstream。因此,我的问题。

0 投票
2 回答
877 浏览

c - fstat() 返回 0,文件大小为 0,errno 为 11

我正在我的代码中尝试以下内容:-

我得到的输出是:-

大小为0和错误号11的原因是什么?有没有其他方法可以获取文件的大小?

注意:这里Netdev->queue_fd[class_id]是一个文件描述符。在不同的调用中,n_bytes 的值在 {41,1514,66,..} 之间变化。(总是大于 0)

谢谢

0 投票
1 回答
6062 浏览

c - stat()、fstat()、lstat() 和 fopen();如何编写 TOCTOU 受保护的系统独立代码

几个星期以来我一直在处理一个问题,现在更新需要独立于系统的 20 年代码(在 Linux 和 Windows 上都可以工作)。它涉及检查时间、使用时间 (TOCTOU) 问题。我在这里做了一个线程,但它并没有走得很远,在思考了一段时间并深入研究了这个问题之后,我想我对我的问题有了更好的理解。也许我也可以问好一点...

根据我的阅读,代码需要检查文件是否存在,是否可以访问,打开文件,执行一些操作,最后关闭文件。似乎最好的方法是调用lstat(),调用fopen(),调用fstat()(以排除 TOCTOU),然后执行操作并关闭文件。

但是,我一直相信lstat()并且fstat()是 POSIX 定义的,而不是C 标准定义的,排除了它们用于与系统无关的程序,同样的方式open()不应该用于交叉兼容性。你将如何实现这一点?

如果你看我的第一篇文章,你可以看到 20 年前的开发人员使用 C 预处理器将代码切割成交叉兼容的部分,但即使我这样做了,我也不知道要替换什么lstat()fstat()用什么(他们的Windows 对应)。

编辑:在这篇文章中添加了缩写代码;如果有不清楚的地方,请转到原帖

0 投票
3 回答
25745 浏览

c - C语言中lstat fstat和stat的区别

我用 C 编写了一个学校作业,以在文件系统中搜索目录、常规文件和符号链接。现在我lstat用来获取有关项目的信息。

lstat fstat那么和stat系统调用有什么区别呢?