struct stat
這個結構體是用來描述一個系統文件系統中的文件屬性的結構。
通過路徑獲得文件屬性
stat(const char* path, const stat* stat_struct)
第一個參數是文件的路徑,第二個參數是struct stat
的指針。
- 執行成功時,返回值爲0
執行失敗時,error被自動設置爲下面的值:
- EBADF: 文件描述詞無效
- EFAULT: 地址空間不可訪問
- ELOOP: 遍歷路徑時遇到太多的符號連接
- ENAMETOOLONG:文件路徑名太長
- ENOENT:路徑名的部分組件不存在,或路徑名是空字串
- ENOMEM:內存不足
- ENOTDIR:路徑名的部分組件不是目錄
stat結構
struct stat {
mode_t st_mode; //文件對應的模式,文件,目錄等
ino_t st_ino; //inode節點號
dev_t st_dev; //設備號碼
dev_t st_rdev; //特殊設備號碼
nlink_t st_nlink; //文件的連接數
uid_t st_uid; //文件所有者
gid_t st_gid; //文件所有者對應的組
off_t st_size; //普通文件,對應的文件字節數
time_t st_atime; //文件最後被訪問的時間
time_t st_mtime; //文件內容最後被修改的時間
time_t st_ctime; //文件狀態改變時間
blksize_t st_blksize; //文件內容對應的塊大小
blkcnt_t st_blocks; //偉建內容對應的塊數量
};