41得票3回答
在C语言中,lstat、fstat和stat有何区别?

我正在用C语言编写一份学校作业,旨在搜索文件系统中的目录、普通文件和符号链接。目前我使用lstat获取有关项目的信息。 那么,lstat、fstat和stat系统调用有什么区别呢?

14得票6回答
检查一个 fstream 是文件还是目录

我正在使用C++ fstream读取配置文件。#include <fstream> std::ifstream my_file(my_filename); 目前,如果我传递一个目录的路径,程序会静默地忽略它。例如,my_file.good() 返回 true,即使 my_filen...

10得票5回答
使用fstat()相比于stat()有哪些优点?

若我有一个已知文件描述符的打开文件,使用fstat()与stat()相比有什么优势?为什么不只有一个函数?int fstat(int fildes, struct stat *buf) int stat(const char *path, struct stat *buf)

9得票1回答
stat()、fstat()、lstat()和fopen()函数;如何编写受TOCTOU保护的系统无关代码。

我最近一直在解决一个问题,更新20年前编写的代码,需要使其系统无关(在Linux和Windows上都能工作)。这涉及到时间检查和使用(TOCTOU)问题。我在这里发了一个帖子here,但没有得到很好的解决。经过思考一段时间并深入研究问题后,我认为我对我的问题有了更好的理解。也许我可以更好地提出...

8得票2回答
在使用stat()之前先使用fopen()是否可以避免TOCTOU问题?

标题已经说明了问题:在使用fopen()之后,是否可以使用stat()来避免时间检查到使用的竞争条件(TOCTOU)? 一些细节: 我正在编写一个仅读取文件但需要在要求读取目录时正确报错的C程序。目前,它使用open()(带有O_RDWR)生成错误,然后检查errno以获取EISDIR,如...