用stat()函数获取设备ID

在不断录像的应用程序中,为了有剩余的磁盘空间,并保存最新的录制文件,因此需要获得每个录制频道所在路径的磁盘ID以及它的剩作空间,这样就可以根据要求进行综判断,删除多少陈旧的录制文件。用statvfs()函数可获取此设备总的磁盘空间以及剩余空间。
#include <gtk/gtk.h>
#include <sys/statvfs.h>
#include <sys/stat.h>


int main (int argc, char *argv[])
{
      int retval;
      char *path;
      struct statvfs ts;
      struct stat ss;

      gfloat freesize;
      gfloat totalsize;

      path = "/root";

     retval = statvfs(path, &ts);
    if (!retval)
    {
        freesize = ts.f_bfree *(ts.f_bsize/1024)/1024;//MHZ
        totalsize =  ts.f_blocks*(ts.f_bsize/1024)/1024;//MHZ
        printf("free size : %fMZ/n",freesize );
        printf("total size : %fMZ/n",totalsize);
        printf("free space percent:%f/n",100.0 - (totalsize-freesize)/totalsize *100);
    }

    retval = stat(path, &ss);
    if(!retval)
    {
          printf("device ID is:%d/n", (int)ss.st_dev);
    }

  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值