#include <sys/stat.h>
|
|
int fstat(int fildes, struct stat *buf);
|
获取文件信息 |
int lstat(const char* restrictpath, struct stat *restrictbuf);
|
获取文件信息 |
int stat(const char* restrictpath, struct stat *restrictbuf);
|
获取文件信息 |
int fstat(int fildes, struct stat *buf) //用于已经open的文件
/* 二者可用于还未打开的文件,其中,如果是软连接文件, lstat描述的是链接本身,stat则是描述链接所指向的文件 */
int lstat(const char *restrictpath, struct stat *restrictbuf);
int stat(const char *restrictpath, struct stat *restrictbuf);
struct stat *buf //这是stat.h中的一个结构体,用于记录文件信息
struct stat{ /* when _DARWIN_FEATURE_64_BIT_INODE is defined */
dev_t st_dev; /* ID of device containing file 文件保存的设备*/
mode_t st_mode; /* Mode of file (see below) 文件权限与文件类型信息*/
nlink_t st_nlink; /* Number of hard links 该文件上硬链接的数量*/
ino_t st_ino; /* File serial number 该文件的inode */
uid_t st_uid; /* User ID of the file 该文件的用户id*/
gid_t st_gid; /* Group ID of the file 该文件的组id*/
dev_t st_rdev; /* Device ID */
struct timespecst_atimespec; /* time of last access 上次被访问的时间戳*/
struct timespecst_mtimespec; /* time of last data modification 上次被修改的时间戳*/
struct timespecst_ctimespec; /* time of last status change */
struct timespecst_birthtimespec; /* time of file creation(birth) */
off_t st_size; /* file size, in bytes */
blkcnt_t st_blocks; /* blocks allocated for file */
blksize_t st_blksize; /* optimal blocksize for I/O */
uint32_t st_flags; /* user defined flags for file */
uint32_t st_gen; /* file generation number */
int32_t st_lspare; /* RESERVED: DO NOT USE! */
int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */
};