2015-12-25 69 views
0

Stat類型的用途是什麼?就像操作的狀態一樣?我在DXL參考手冊9.6中找不到太多東西。什麼Stat類型存儲在門DXL中?

使用的操作系統,這使得DXL程序來 提供的統計API 的統計數據類型的工作決定的文件和目錄的狀態的功能

爲了更清楚我將發佈它的用途之一:

/************************************ 
    isDirectory 

    Returns true if string parameter is a valid directory 
************************************/ 
bool isDirectory(string dn) 
{ 
    Stat s = create dn 

    if (null s) return false 
    if (directory s) 
    { 
     delete s 
     return true 
    } 
    delete s 
    return false 
} 

還是這樣的代碼:

/************************************ 
    getFileSize 

    returns the size (in bytes) of a file. note that files smaller than 
    the block size on the disc still take up a whole block. 
************************************/ 
int getFileSize(string fn) 
{ 
    int fSize = 0 
    Stat s = create fn 
    if (null s) return(0) 

    fSize = size(s) 
    if (fSize < BLOCK_SIZE) fSize = BLOCK_SIZE 

    delete s 
    return(fSize) 
} 

編輯

或者燙髮等:

改性(STAT)

布爾符號(STAT)日期

日期訪問(STAT)

統計創建(Symbolic__)

空隙刪除(STAT)

串用戶(STAT)

INT大小(STAT)

+1

請注意不要製作新的,過於寬泛的標籤,如'create'。謝謝! –

+0

標籤上只有兩個問題[門9.5],其中之一就是這個,這真的是門9.6。我會從這個中刪除[doors-9.5]標籤。如果有任何反對意見,請隨時恢復標籤,我不會再刪除它。 – icedwater

回答

1

Stat是說明文件和文件狀元件等的目錄的數據結構。您已經找到了此結構的用途:來確定文件和目錄的狀態。正如參考手冊在第11節中提到的,第號操作系統命令,它只是一種使用DXL訪問OS stat函數和數據類型的方法。

對於基於nix的系統,其結構在http://man7.org/linux/man-pages/man2/stat.2.html中有完整描述。對於基於Windows的系統,請參閱https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx。你會注意到這個概念基本上是相同的。

_stat函數獲得關於由路徑並將其存儲在所述結構中指定的文件或目錄由 緩衝器指向信息。 [Windows]

這些函數返回有關文件的信息。 [Linux]

由於處理位掩碼不太方便,因此通常會有一組函數,如bool directory (Stat)以更易讀的方式檢查不同的標誌。如果你根本沒有興趣使用stat緩衝區,通常在你的例子中創建一層便利功能,例如bool isDirectory(string),這樣如果一個文件/目錄是一個目錄,是可讀的,你可以檢查更多的可讀性。

相關問題