|
楼主 |
发表于 2004-12-17 01:01:38
|
显示全部楼层
已打开,不过发现有问题
df 命令得到如下结果:
[root@dishui root]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/hda3 15116868 5611308 8737656 40% /
none 127552 0 127552 0% /dev/shm
/dev/hda1 10774288 4448384 6325904 42% /mnt/win2k
/dev/hda5 20569168 6118192 14450976 30% /mnt/d
/dev/hda6 20569168 4516544 16052624 22% /mnt/e
写了个程序如下:
#include <stdio.h>
#include <sys/vfs.h>
int main(int argc,char *argv[])
{
struct statfs buff;
if(argc!=2)
{
printf("Usage:input device name!\n");
return 0;
}
if(!statfs(argv[1],&buff))
printf("free bytes is %lfKB\n",(float)(buff.f_bsize)*(float)(buff.f_bfree)/1024);
}
可以得到某挂载点剩余容量,那是因为我知道系统有哪些挂载点,所以argv[1]我可以给出,但对于一个系统,若在不知道哪些文件系统挂载上了的话,,我想得到整个硬盘的剩余容量又该怎么办呢. |
|