利用statfs 函数计算磁盘剩余空间

如果想在程序里查看磁盘空间,就要用到statfs()函数。

查看指定路径下硬盘总空间和剩余空间大小的方法:

    struct statfs diskInfo;
    statfs("/",&diskInfo);
    unsigned long long blocksize = diskInfo.f_bsize;// 每个block里面包含的字节数
    unsigned long long totalsize = blocksize * diskInfo.f_blocks;//总的字节数
    printf("TOTAL_SIZE == %lu MB\n",totalsize>>20); // 1024*1024 =1MB  换算成MB单位

    unsigned long long freeDisk = diskInfo.f_bfree*blocksize; //再计算下剩余的空间大小
    printf("DISK_FREE == %ld MB\n",freeDisk>>20);

你可能感兴趣的:(利用statfs 函数计算磁盘剩余空间)