stat h標頭檔案,輕鬆獲取檔案屬性

2021-06-19 19:22:39 字數 1062 閱讀 2698

以前還為了獲取檔案的長度,費勁從頭讀取一遍,乙個乙個位元組的算。

做webserver時候,發現原來stat函式可以返回乙個結構,裡面包括檔案的全部屬性。

真是曲折啊。】

#i nclude

int stat(const char *restrict pathname,struct stat *restrict buf);

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

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

返回值:若成功則返回0,失敗則返回-1

一旦給出pathname,stat函式就返回與此命名檔案有關的資訊結構,fstat函式獲取已在描述符fields上開啟檔案的有關資訊。

lstat函式類似於stat.但是當命名的檔案是乙個符號鏈結時,lstat返回該符號鏈結的有關資訊,而不是由該符號鏈結引用檔案

的資訊。第二個引數buf是指標,它指向乙個我們必須提供的結構,這些函式填寫由buf指向的結構。該結構的實際定義可能隨實現

有所不同.

struct stat;

檔案型別:

普通檔案,目錄檔案,塊特殊檔案,字元特殊檔案,套接字,fifo,符號鏈結.

檔案型別資訊包含在stat結構的st_mode成員中,可以用如下的巨集確定檔案型別,這些巨集是stat結構中的st_mode成員.

s_isreg();s_isdir();s_ischr();s_isblk();s_isfifo();s_islnk();s_issock()

示例: #i nclude

int main(int argc,char* argv)

if (s_isreg(buf.st_mode))

ptr=」普通檔案」;

if (s_isdir(buf.st_mode))

ptr=」目錄」;

//……and so on…

cout<<」引數為:」<

} exit(0); }

java根據標頭檔案獲取檔案屬性

獲取和判斷檔案頭資訊 author sud public class gettypebyhead 根據檔案路徑獲取檔案頭資訊 param filepath 檔案路徑 return 檔案頭資訊 public static string getfiletype string filepath 根據檔案路...

Linux標頭檔案 C C 標頭檔案

linux標頭檔案 c c 標頭檔案。linux常用標頭檔案如下 posix標準定義的標頭檔案 目錄項 檔案控制 檔名匹配型別 路徑名模式匹配型別 組檔案 網路資料庫操作 口令檔案 正規表示式 tar歸檔值 終端i o 符號常量 檔案時間 字元擴充套件型別 internet定義 套接字本地介面 in...

標頭檔案庫檔案

標頭檔案中有函式的申明,庫檔案實現函式的定義。比如,printf函式。使用時應包括stdio.h,開啟stdio.h你只能看到,printf這 個函式的申明,卻看不到printf具體是怎麼實現的,而函式的實現在相應的c庫 中。而庫檔案一般是以二進位制形式而不是c原始檔形式提供給使用者使用的。程式 中...