免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: HappyWin
打印 上一主题 下一主题

linux下C取得磁盘空间信息 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-01-02 18:49 |只看该作者
多谢版主指点,我试试先,谢谢

论坛徽章:
0
12 [报告]
发表于 2007-01-02 19:43 |只看该作者
我想你进到一个误区了吧。
除非是你做写磁盘管理,i-node分配之类的工作,否则,在unix/linux系统下,你不应该去管磁盘的容量之类的东西。做磁盘管理、i-node分配之类的工作,必须了解所用的文件系统格式。
这是跟windows系统下面不同的。在windows系统下面,很多程序安装的时候,或者是运行的时候,会去判断磁盘实际的剩余容量。由于unix/linux系统下面的文件管理方式,决定这种方式在unix/linux系统下非常有可能得出错误的结论。

论坛徽章:
0
13 [报告]
发表于 2007-01-03 06:26 |只看该作者
原帖由 namtso 于 2007-1-2 19:43 发表
我想你进到一个误区了吧。
除非是你做写磁盘管理,i-node分配之类的工作,否则,在unix/linux系统下,你不应该去管磁盘的容量之类的东西。做磁盘管理、i-node分配之类的工作,必须了解所用的文件系统格式。
这是跟windows系统下面不同的。在windows系统下面,很多程序安装的时候,或者是运行的时候,会去判断磁盘实际的剩余容量。由于unix/linux系统下面的文件管理方式,决定这种方式在unix/linux系统下非常有可能得出错误的结论。


也要有一个过程嘛。不可能一蹴而就。

论坛徽章:
0
14 [报告]
发表于 2007-01-08 13:49 |只看该作者
不知道namtso 兄弟说的是啥意思
一块硬盘上要安装软件,不停的写文件总有满的时候啊,我想监控可用磁盘空间,不知道这个描述是否清除,用stattfs能否达到目的?

论坛徽章:
0
15 [报告]
发表于 2007-01-08 15:05 |只看该作者
原帖由 HappyWin 于 2007-1-8 13:49 发表
不知道namtso 兄弟说的是啥意思
一块硬盘上要安装软件,不停的写文件总有满的时候啊,我想监控可用磁盘空间,不知道这个描述是否清除,用stattfs能否达到目的?


完全能达到要求.

论坛徽章:
0
16 [报告]
发表于 2007-01-08 16:34 |只看该作者
原帖由 HappyWin 于 2007-1-8 13:49 发表
不知道namtso 兄弟说的是啥意思
一块硬盘上要安装软件,不停的写文件总有满的时候啊,我想监控可用磁盘空间,不知道这个描述是否清除,用stattfs能否达到目的?

在linux上是statfs,Solaris和其他unix上是statvfs,可以达到你的要求.

论坛徽章:
0
17 [报告]
发表于 2007-01-11 09:10 |只看该作者
coreutils-6.6\src\df.c
阅读一下就知道了,适用于不同的unix平台
偶就是这么做的
大概就是楼上好多兄弟说得函数再加上下面这些,man一下.

  1.        #include <stdio.h>
  2.        #include <mntent.h>
  3.        FILE *setmntent(const char *filename, const char *type);
  4.        struct mntent *getmntent(FILE *fp);
  5.        int addmntent(FILE *fp, const struct mntent *mnt);
复制代码

论坛徽章:
0
18 [报告]
发表于 2010-08-09 17:08 |只看该作者
好文!

论坛徽章:
0
19 [报告]
发表于 2010-08-09 17:10 |只看该作者
struct statfs * buf;
    int b = statfs( "/dev", buf );

    if ( ! b )  {
        printf( "free space: %u Kbytes", buf->f_bfree * 4 );
    }
    else {
        printf( " Failed ");
    }

论坛徽章:
0
20 [报告]
发表于 2010-08-09 17:18 |只看该作者
读 /proc/ diskstats 文件就行吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP