檔案屬性函式stat fstat lstat

2021-05-23 08:25:49 字數 1392 閱讀 9909

stat,lstat,fstat1 函式都是獲取檔案(普通檔案,目錄,管道,socket,字元,塊()的屬性。函式原型#include

int stat(const char *restrict pathname, struct stat *restrict buf);提供檔案名字,獲取檔案對應屬性。

int fstat(int filedes, struct stat *buf);通過檔案描述符獲取檔案對應的屬性。

int lstat(const char *restrict pathname, struct stat *restrict buf);連線檔案描述命,獲取檔案屬性。

其中struct stat ;

應用案例

#include

#include

#include

#include

#include

#include

int main(int argc, char *argv)

// 獲取檔案屬性

if ( stat(argv[1], &buf) == -1 )

// 列印出檔案屬性

printf("device is: %d/n", buf.st_dev);

printf("inode is: %d/n", buf.st_ino);

printf("mode is: %o/n", buf.st_mode);

printf("number of hard links  is: %d/n", buf.st_nlink);

printf("user id of owner is: %d/n", buf.st_uid);

printf("group id of owner is: %d/n", buf.st_gid);

printf("device type (if inode device) is: %d/n", buf.st_rdev);

printf("total size, in bytes is: %d/n", buf.st_size);

printf(" blocksize for filesystem i/o is: %d/n", buf.st_blksize);

printf("number of blocks allocated is: %d/n", buf.st_blocks);

printf("time of last access is: %s", ctime(&buf.st_atime));

printf("time of last modification is: %s", ctime(&buf.st_mtime));

printf("time of last change is: %s", ctime(&buf.st_ctime));

return 0;

}

獲取檔案屬性函式

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

linux檔案屬性函式

1.int access const char pathname,int mode 測試當前使用者指定檔案是否具有某種屬性 引數 pathname 檔名 mode 4種許可權 r ok 讀 w ok 寫 x ok 執行 f ok 檔案是否存在 返回值 0 具有某種許可權 1 沒有許可權,或檔案不存在...

檔案屬性操作函式(12)

4修改檔案的許可權 5引數 6 pathname 需要修改的檔案的路徑 7 mode 需要修改的許可權值,八進位制的數 8返回值 成功返回0,失敗返回 1910 11 include 12 include 13 intmain 2122 return0 23 1 2 include 3int acc...