我必须做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