网站制作学习网Linux→正文:linux c查看磁盘剩余
字体:

linux c查看磁盘剩余

Linux 2012/9/4 18:29:47  点击:不统计

www-fo-a-sp.cn

linux下通过c编程获取磁盘大小或者获取文件所在挂在磁盘的大小,linux c获取剩余磁盘空间磁盘大小
下面是代码以及代码对应的解释
#ifdef  _64_
#define _LARGEFILE64_SOURCE
#define _FILE_OFFSET_BITS 64
#define __USE_FILE_OFFSET64
#endif
#include <stdio.h>
#include <string.h>
#include <mntent.h>
#include <sys/statfs.h>
int main(){
 struct    mntent    *ent;
 struct    statfs    stat;
 if(-1    ==    statfs("/disk2",&stat)){
  perror("statfs error");
 }
 long    all    =    stat.f_blocks*stat.f_bsize/1024;
 long    fre    =    stat.f_bsize*stat.f_bavail/1024;
 if(all    ==    0)
 printf("all: %ld\t free: %ld\t\n",all,fre);
}

对于statf有下面的属性
struct statfs {
 long    f_type;     /* 文件系统类型 */
 long    f_bsize;    /* 基础块大小 byte */
 long    f_blocks;   /* 总的块数量*/
 long    f_bfree;    /* 空闲的块数量 */
 long    f_bavail;   /* free blocks avail to non-superuser */
 long    f_files;    /* 总的节点总数 */
 long    f_ffree;    /* 空闲节点 */
 fsid_t  f_fsid;     /* file system id */
 long    f_namelen;  /* maximum length of filenames */
};

上面可以通过文件获取当前文件所在磁盘的大小以及空闲大小。
看下面的运行结果图
linux c查看磁盘剩余


原文章%77w%77%2Ef%6F%72%61%73%70%2E%63n

·上一篇:bind error Socket operation on non-socket >>    ·下一篇:linux c编程注意的几点 >>
推荐文章
最新文章