Posted on 2010-10-29 15:13
午夜凉饭 阅读(3072)
评论(0) 编辑 收藏 引用 所属分类:
Linux
如果想在程序里查看磁盘空间,就要用到statfs()函数。
查看指定路径下硬盘总空间和剩余空间大小的方法:
struct statfs diskInfo;
statfs("/",&diskInfo);
unsigned long long blocksize = diskInfo.f_bsize;// 每个block里面包含的字节数
unsigned long long totalsize = blocksize * diskInfo.f_blocks;//总的字节数
printf("TOTAL_SIZE == %lu MB\n",totalsize>>20); // 1024*1024 =1MB 换算成MB单位
unsigned long long freeDisk = diskInfo.f_bfree*blocksize; //再计算下剩余的空间大小
printf("DISK_FREE == %ld MB\n",freeDisk>>20);