Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux C编程目录大小_C_Linux_Directory_Size - Fatal编程技术网

Linux C编程目录大小

Linux C编程目录大小,c,linux,directory,size,C,Linux,Directory,Size,我正在寻找C语言的良好实践。我需要获得Linux上C代码中的目录大小。请注意,我对C真的很陌生 我想有几种方法可以做到这一点。更简单的方法可能是将“du”与system()函数一起使用并获得输出。对吗 更复杂的是在所有文件和子目录上递归使用stat()函数,我想这就是“du”已经在做的事情 我这样问是因为我想尽可能地有最好的表现。在我的程序过程中,需要多次重新计算大小,并尽快计算 我还考虑将“du”的源代码“导入”到我的项目中,如果这是一个选项的话 关于这个问题有什么意见吗?您的程序的运行时间受

我正在寻找C语言的良好实践。我需要获得Linux上C代码中的目录大小。请注意,我对C真的很陌生

我想有几种方法可以做到这一点。更简单的方法可能是将“du”与system()函数一起使用并获得输出。对吗

更复杂的是在所有文件和子目录上递归使用stat()函数,我想这就是“du”已经在做的事情

我这样问是因为我想尽可能地有最好的表现。在我的程序过程中,需要多次重新计算大小,并尽快计算

我还考虑将“du”的源代码“导入”到我的项目中,如果这是一个选项的话


关于这个问题有什么意见吗?

您的程序的运行时间受文件系统速度的限制。调用
du
和自己实现此功能之间应该没有什么区别。这里的问题几乎完全相同:请准确解释“目录大小”的含义。您提到的递归
stat
du
表明了几种可能性之一,但不够精确,无法给出明确的答案。