我必須做ls -l函數。我的問題是從ls -l中找到總值。這是我如何做到的。C,總共來自unix ls函數
if (l_option) {
struct stat s;
stat(dir_name, &s);
printf("total %jd\n", (intmax_t)s.st_size/512);
}
我相信,我的解決方案是正確的定義,那就是: 「對於每個列出的目錄,前言中的文件與線 `總塊」,其中模塊是所有的總磁盤分配 該目錄中的文件,塊大小目前默認爲1024 字節「(info ls)但我的功能與真正的ls不同。
例如:
>ls -l
>total 60
...並在同一目錄下:
>./ls -l
>total 8
如果我寫:
>stat .
>File: `.'
>Size: 4096 Blocks: 8 IO Block: 4096 directory
>...
目錄大小!=它裏面的文件大小!您必須通過目錄,獲取所有文件的統計數據並總結其大小。 – 2013-04-22 16:51:58
謝謝,好像我的文件系統的概念是完全錯誤的。 – mzdravkov 2013-04-22 16:54:45