以前還為了獲取檔案的長度,費勁從頭讀取一遍,乙個乙個位元組的算。
做webserver時候,發現原來stat函式可以返回乙個結構,裡面包括檔案的全部屬性。
真是曲折啊。】
#i nclude返回值:若成功則返回0,失敗則返回-1int 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);
一旦給出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原始檔形式提供給使用者使用的。程式 中...