功能描述:
获取一些文件相关的信息。 用法: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int stat(const char *path, struct stat *buf); int fstat(int filedes, struct stat *buf); int lstat(const char *path, struct stat *buf); 参数: path:文件路径名。 filedes:文件描述词。 buf:是以下结构体的指针 struct stat { dev_t st_dev; /* 文件所在设备的标识 */ ino_t st_ino; /* 文件结点号 */ mode_t st_mode; /* 文件保护模式 */ nlink_t st_nlink; /* 硬连接数 */ uid_t st_uid; /* 文件用户标识 */ gid_t st_gid; /* 文件用户组标识 */ dev_t st_rdev; /* 文件所表示的特殊设备文件的设备标识 */ off_t st_size; /* 总大小,字节为单位 */ blksize_t st_blksize; /* 文件系统的块大小 */ blkcnt_t st_blocks; /* 分配给文件的块的数量,512字节为单元 */ time_t st_atime; /* 最后访问时间 */ time_t st_mtime; /* 最后修改时间 */ time_t st_ctime; /* 最后状态改变时间 */ }; 返回说明: 成功执行时,返回0。失败返回-1,errno被设为以下的某个值 EBADF: 文件描述词无效 EFAULT: 地址空间不可访问 ELOOP: 遍历路径时遇到太多的符号连接 ENAMETOOLONG:文件路径名太长 ENOENT:路径名的部分组件不存在,或路径名是空字串 ENOMEM:内存不足 ENOTDIR:路径名的部分组件不是目录 |
Linux系统调用--fstat/stat/lstat函数详解
最新推荐文章于 2024-02-12 22:55:08 发布