当前位置:  开发笔记 > 编程语言 > 正文

如何使用在Linux上运行的C语言程序获得驱动器的确切总空间?

如何解决《如何使用在Linux上运行的C语言程序获得驱动器的确切总空间?》经验,为你挑选了1个好方法。

如何使用在Linux上运行的C语言程序获得驱动器的确切总空间?我不想使用shell脚本.有什么建议?



1> Evan Teran..:

statfs/statfs64

#include     /* or  */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);

从手册页:

   The  function  statfs() returns information about a mounted file system.
   path is the pathname of any file within the mounted file system.
   buf is a pointer to a statfs structure defined approximately as follows:

       struct statfs {
          long    f_type;     /* type of file system (see below) */
          long    f_bsize;    /* optimal transfer block size */
          long    f_blocks;   /* total data blocks in file system */
          long    f_bfree;    /* free blocks in fs */
          long    f_bavail;   /* free blocks avail to non-superuser */
          long    f_files;    /* total file nodes in file system */
          long    f_ffree;    /* free file nodes in fs */
          fsid_t  f_fsid;     /* file system id */
          long    f_namelen;  /* maximum length of filenames */
       };

你可以像这样使用它:

struct statfs buf;
statfs("/", &buf);

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有