int fstat(int fildes,struct stat *buf) int stat(const char *path,struct stat *buf)
为什么有两个功能呢?
一个因素可能是方便.能够fstat()从代码的其他部分获得的文件描述符非常好,而不必传递文件名.
但主要原因是安全性.如果您首先使用stat()文件然后打开()它,那么文件可以被修改(或者更改其权限等)或用符号链接替换之间会有一个小的时间窗口.
fstat()避免了这个问题.你首先打开()文件,然后不再在你的脚下交换文件了.然后你fstat(),你可以确定你有正确的文件.