int stat(const char *pathname, struct stat *buf);
pathname:用于指定一個需要查看屬性的文件路徑。
buf:struct stat 類型指針,用于指向一個 struct stat 結構體變量。調用 stat 函數的時候需要傳入一個 struct stat 變量的指針,獲取到的文件屬性信息就記錄在 struct stat 結構體中。
返回值:如果這個路徑不存在就失敗返回-1,存在返回0
struct stat?
{?
?dev_t st_dev; /* 文件所在設備的 ID */?
?ino_t st_ino; /* 文件對應 inode 節點編號 */?
?mode_t st_mode; /* 文件對應的模式 */?
?nlink_t st_nlink; /* 文件的鏈接數 */?
?uid_t st_uid; /* 文件所有者的用戶 ID */?
?gid_t st_gid; /* 文件所有者的組 ID */?
?dev_t st_rdev; /* 設備號(指針對設備文件) */?
?off_t st_size; /* 文件大小(以字節為單位) */?
?blksize_t st_blksize; /* 文件內容存儲的塊大小 */?
?blkcnt_t st_blocks; /* 文件內容所占塊數 */?
?struct timespec st_atim; /* 文件最后被訪問的時間 */?
?struct timespec st_mtim; /* 文件內容最后被修改的時間 */?
?struct timespec st_ctim; /* 文件狀態最后被改變的時間 */
};
S_ISREG(mode_t) //判斷是不是普通文件
S_ISDIR(mode_t) //判斷是不是目錄