linux C之stat()
標頭檔案:
#include <sys/stat.h>
#include <unistd.h>
定義函式:
int stat(const char *file_name, struct stat *buf);
函式說明:
通過檔名filename獲取檔案資訊,並儲存在buf所指的結構體stat中
返回值:
執行成功則返回0,失敗返回-1,錯誤程式碼存於errno
errno:
ENOENT 引數file_name指定的檔案不存在
ENOTDIR 路徑中的目錄存在但卻非真正的目錄
ELOOP 欲開啟的檔案有過多符號連線問題,上限為16符號連線
EFAULT 引數buf為無效指標,指向無法存在的記憶體空間
EACCESS 存取檔案時被拒絕
ENOMEM 核心記憶體不足
ENAMETOOLONG 引數file_name的路徑名稱太長
範例:
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdio.h>
- int main() {
- struct stat buf;
- stat("test", &buf);
- printf("the file size = %d\n", buf.st_size);
- }
stat結構體:
struct stat {
dev_t st_dev; //檔案的裝置編號
ino_t st_ino; //節點
mode_t st_mode; //檔案的型別和存取的許可權
nlink_t st_nlink; //連到該檔案的硬連線數目,剛建立的檔案值為1
uid_t st_uid; //使用者ID
gid_t st_gid; //組ID
dev_t st_rdev; //(裝置型別)若此檔案為裝置檔案,則為其裝置編號
off_t st_size; //檔案位元組數(檔案大小)
unsigned long st_blksize; //塊大小(檔案系統的I/O 緩衝區大小)
unsigned long st_blocks; //塊數
time_t st_atime; //最後一次訪問時間
time_t st_mtime; //最後一次修改時間
time_t st_ctime; //最後一次改變時間(指屬性)
};
相關文章
- linux之stat命令Linux
- linux ps STATLinux
- Linux的stat命令Linux
- <Linux系統stat指令用法>Linux
- Linux檔案系統iNode及stat命令Linux
- c/c++語言函式 stat, fstat, lstat, fstatat - get file statusC++函式
- UcOs-III 原始碼閱讀: os_stat.c原始碼
- [20190411]linux stat 命令疑問.txtLinux
- linux系統程式設計之檔案與IO(五):stat()系統呼叫獲取檔案資訊Linux程式設計
- [Oracle] crsctl stat res -tOracle
- DBMS_STAT筆記筆記
- oracle 12c grid 已經廢棄crs_stat這個命令Oracle
- sys_stat_activity檢視
- git diff --stat命令詳解Git
- Nginx: stat() failed (13: permission denied)NginxAI
- 檔案和目錄之stat族函式——APUE學習筆記(2)函式筆記
- Linux 格式化分割槽 報錯Could not stat /dev/sda3 --- No such file or directoryLinuxdev
- stat 命令家族(1)- 詳解 vmstat
- 達夢SQL優化方法statSQL優化
- stat命令支援的檔案格式有哪些?零基礎入門學linuxLinux
- linux c之gdb常用斷點除錯總結Linux斷點除錯
- stat 命令家族(3)- 詳解 mpstat
- PostgreSQL DBA(63) - Extension(pg_stat_statements)SQL
- dbms_stat與analyze的區別
- fstat函式及struct stat結構函式Struct
- Oracle10gRAC crs_stat 工具用法Oracle
- oracle12c之 12.1.0.1.0 C 在 linux 7 上安裝報錯處理OracleLinux
- Linux C/C++呼叫mongDBLinuxC++
- mysql之\cMySql
- linux c firstLinux
- Dart之於JavaScript,正如C#之於C++DartJavaScriptC#C++
- PostgreSQL pg_stat_statements模板介紹和部署SQL
- save the status of schema and gather all stat of schemas again.AI
- C 語言程式碼風格之 Linux 核心程式碼風格Linux
- 嵌入式Linux之我行——C+CGI+Ajax在S3C2440中的應用LinuxS3
- SQLite之C介面SQLite
- C#之helloworldC#
- C#之介面C#