易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下c++求目录大小

想用“du -sh”结合“popen()”求目录大小,但这种方法如果目录很大的话就很容易出错;
若用遍历求和的话又麻烦。请问有其他方法可以解决吗?多谢!!!
遍历文件,累加好一点吧,虽然麻烦

哎,难道真没有其它方法了?!

你这里目录大小指的是该目录下所有文件大小吗?
只能遍历目录文件递归进行累加计算了。

引用
你这里目录大小指的是该目录下所有文件大小吗?
只能遍历目录文件递归进行累加计算了。

所有文件大小总和

别用popen了,输出到一个文件试试

引用
别用popen了,输出到一个文件试试

楼上的意思是不是说把“du -sh”的结果输出到一个文件中,如果是这样的话不仅上面的问题没有能够避免,而且还更麻烦了。

为什么一定没有避免,麻烦倒是麻烦了一些,只是读内存换成了读文件其实

有可能解决是因为不用开进程了

引用
为什么一定没有避免,麻烦倒是麻烦了一些,只是读内存换成了读文件其实

有可能解决是因为不用开进程了

目录很大时“du -sh”会容易出错


引用
引用 8 楼 girl_programmer 的回复:
引用 7 楼 ma100 的回复:
为什么一定没有避免,麻烦倒是麻烦了一些,只是读内存换成了读文件其实

有可能解决是因为不用开进程了

目录很大时“du -sh”会容易出错


如果du都能出错,要linux何用

du的参数个数有上限,若此目录包含的文件太多


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

请教一题C,我看不明白! - C/C++ / C语言

#include "stdio.h"
void main()
{
  int *p;
  int a[10]={0,1,2,3,4,5,6,7,8,9};
  int k=0;
  p=a;
  for(int i=0;i<10;i++,p ......

LINUX下卸载JDK问题

我用RPM报安装了一个老版本的JRE,后来想装新版本的,
不过,我把/usr/java目录直接给删了,
后再安装的时候,总是提示版本冲突,
而且我用RPM包卸载时也找不到文件了。
我对LINUX不熟悉,希望高手帮忙。
http: ......

想研究C与指针这本书,大家给点意见 - C/C++ / C语言

以前学过谭浩强的书,认真看过几遍,书上的题大部分自己编过,现在想进一步学习C,应该从哪方面着手呢?我准备看C与指针,大家觉得这本书怎么样?还是看其它的书?
你应该重新找《c primer plus》这本书看看。

c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号