1、函式都是獲取檔案(普通檔案,目錄,管道,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);
連線檔案描述命,獲取檔案屬性。
一眼就能看出來fstat的第乙個引數是和另外兩個不一樣的,對!fstat區別於另外兩個系統呼叫的地方在於,fstat系統呼叫接受的是 乙個「檔案描述符」,而另外兩個則直接接受「檔案全路徑」。檔案描述符是需要我們用open系統呼叫後才能得到的,而檔案全路經直接寫就可以了。
stat 和lstat的區別:當檔案是乙個符號鏈結時,lstat返回的是該符號鏈結本身的資訊;而stat返回的是該鏈結指向的檔案的資訊。(似乎有些暈吧,這樣記,lstat比stat多了乙個l,因此它是有本事處理符號鏈結檔案的,因此當遇到符號鏈結檔案時,lstat當然不會放過。而 stat系統呼叫沒有這個本事,它只能對符號鏈結檔案睜乙隻眼閉乙隻眼,直接去處理鏈結所指檔案嘍)
2 檔案對應的屬性
struct stat ;
可以通過上面提供的函式,返回乙個結構體,儲存著檔案的資訊.
3獲取檔案屬性的幾個封裝函式
///
// 功能說明 : 判斷是否link檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool islink ( const char * szdirname )
///// 功能說明 : 判斷是否block檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool isblk ( const char * szdirname )
///// 功能說明 : 判斷是否fifo檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool isfifo ( const char * szdirname )
///// 功能說明 : 判斷是否目錄檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool isdir ( const char * szdirname )
///// 功能說明 : 判斷是否裝置檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool isdevice ( const char * szdirname )
///// 功能說明 : 判斷是否普通檔案
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool isfile ( const char * szdirname )
///// 功能說明 : 判斷是否可讀
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool canaccess ( const char *szfilename )
///// 功能說明 : 判斷是否可修改
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_bool
// 使用說明 :
///ycpp_bool canmodify ( const char *szfilename )
///// 功能說明 : 獲取檔案上次修改時間
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_ret
// 使用說明 :
///ycpp_ret filelastmtime ( const char *szfilename )
///// 功能說明 : 獲取檔案大小,以位元組為單位
// 輸入引數 :
// 輸出引數 : void
// 返回值 : ycpp_ret
// 使用說明 :
///ycpp_ret filesize ( const char *szfilename )
函式基礎 匿名函式,函式,箭頭函式,立即執行函式
doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title document title head body body ...
函式 常見函式
def fib n if n 1 return 1if n 2 return 1return fib n 1 fib n 2 def hannuo n,a,b,c n 表示有n個盤子 a 代表第乙個塔,開始的塔 b 代表第二個塔,過渡塔 c 代表第三個塔,目標塔 d.在 中n 2,這個分支可以不要,...
Lua 函式 函式
在lua中,函式是一種對語句和表示式進行抽象的主要機制。函式既可以完成某項特定的任務,也可以只做一些計算並返回結果。lua具有一項非常於總不同的特徵,允許函式返回多個結果 s,e string.find hello lua users lua print s,e 7 9 以lua編寫的函式同樣可以返...