常用檔案屬性獲取

2021-07-22 22:38:30 字數 1452 閱讀 9081

《朱老師物聯網大講堂》學習筆記  

檔案屬性,

檔案的屬性資訊,只能被專用的api開啟看到,

常用的api有,stat,fstat,lstat,

同時stat也是乙個shell命令,其內部呼叫的也是stat,

int stat(const char *path, struct stat *buf);

int fstat(int fd, struct stat *buf);

int lstat(const char *path, struct stat *buf);

fstat是從記憶體中讀取,stat是從硬碟讀取,

lstat與上面的差別是,對於符號鏈結檔案,stat和fstat檢視的都是符號鏈結檔案指向的檔案,lstat檢視的是符號鏈結檔案本身的屬性個,

struct stat {

dev_t     st_dev;     /* id of device containing file */

ino_t     st_ino;     /* inode number */

mode_t    st_mode;    /* protection */

nlink_t   st_nlink;   /* number of hard links */

uid_t     st_uid;     /* user id of owner */

gid_t     st_gid;     /* group id of owner */

dev_t     st_rdev;    /* device id (if special file) */

off_t     st_size;    /* total size, in bytes */

blksize_t st_blksize; /* blocksize for filesystem i/o */

blkcnt_t  st_blocks;  /* number of 512b blocks allocated */

time_t    st_atime;   /* time of last access */

time_t    st_mtime;   /* time of last modification */

time_t    st_ctime;   /* time of last status change */

//這裡面的一些屬性,某些檔案用不到

struct stat buf;

ret = stat( name, &buf );

stat a.out,

即可檢視檔案屬性,

即檔案讀寫緩衝區大小,

struct stat結構體,

包含在sys/stat.h中宣告,

Qt獲取檔案屬性

在qt中有qfileinfo類專門提供了獲取檔案資訊的各種介面,比如檔名稱,位置資訊,檔案的許可權,目錄,檔案或符號連線,檔案大小,建立時間,最後修改時等等,下面通過 來看一些具體的屬性獲取。ifndef mainwindow h define mainwindow h include qt beg...

獲取檔案屬性函式

表頭檔案 include 函式定義 int stat const char file name,struct stat buf 函式說明 通過檔名filename獲取檔案資訊,並儲存在buf所指的結構體stat中 返回值 執行成功則返回0,失敗返回 1,錯誤 存於errno 需要include er...

獲取檔案屬性 stat lstat fstat

一 函式原型 include include include int stat const char path,struct stat buf int fstat int fd,struct stat buf int lstat const char path,struct stat buf 二 引...