头文件:
#include <sys/stat.h>
#include <unistd.h>
函数原型:
int stat(const char *file_name, struct stat *buf)// 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中
int fstat(int filedes, struct stat *buf);//通过文件描述符获取文件对应的属性。
int lstat(const char *restrict pathname, struct stat *restrict buf);//连接文件描述命,获取文件属性。
返回值:成功返回0,失败返回-1,并且设置error的值
error错误代码:
ENOENT 参数file_name指定的文件不存在
ENOTDIR 路径中的目录存在但却非真正的目录
ELOOP 欲打开的文件有过多符号连接问题,上限为16符号连接
EFAULT 参数buf为无效指针,指向无法存在的内存空间
EACCESS 存取文件时被拒绝
ENOMEM 核心内存不足
ENAMETOOLONG 参数file_name的路径名称太长
给定一个pathname,stat函数返回一个与此命名文件有关的信息结构,fstat函数获得已在描述符filedes上打开的文件的有关信息。lstat函数类似于stat,但是当命名的文件是一个符号连接时,lstat返回该符号连接的有关信息,而不是由该符号连接引用的文件的信息。
struc