linux下用C语言获取硬盘/SD/FLASH存储容量及使用情况
2016-04-14 09:53
501 查看
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/vfs.h> int main() { struct statfs diskInfo; statfs("/", &diskInfo); unsigned long long totalBlocks = diskInfo.f_bsize; unsigned long long totalSize = totalBlocks * diskInfo.f_blocks; size_t mbTotalsize = totalSize>>20; unsigned long long freeDisk = diskInfo.f_bfree*totalBlocks; size_t mbFreedisk = freeDisk>>20; printf ("/ total=%dMB, free=%dMB\n", mbTotalsize, mbFreedisk); statfs("/boot", &diskInfo); totalBlocks = diskInfo.f_bsize; totalSize = totalBlocks * diskInfo.f_blocks; mbTotalsize = totalSize>>20; freeDisk = diskInfo.f_bfree*totalBlocks; mbFreedisk = freeDisk>>20; printf ("/boot total=%dMB, free=%dMB\n", mbTotalsize, mbFreedisk); statfs("/dev/shm", &diskInfo); totalBlocks = diskInfo.f_bsize; totalSize = totalBlocks * diskInfo.f_blocks; mbTotalsize = totalSize>>20; freeDisk = diskInfo.f_bfree*totalBlocks; mbFreedisk = freeDisk>>20; printf ("/dev/shm total=%dMB, free=%dMB\n", mbTotalsize, mbFreedisk); }
相关文章推荐
- Linux系统无法上网解决方案
- linux系统编程:线程原语
- linux第四章笔记
- 安装LINUX后要怎么找回WIN7启动项?
- 《Linux内核设计与实现》第四章读书笔记
- linux进程间通讯学习总结
- linux c 共享内存编程
- 免费的Linux FTP客户端工具
- Linux top命令用法
- linux中关闭报警音
- Linux下缓冲区溢出攻击的原理及对策
- linux中的特殊权限
- Linux用init命令关机、重启、切换模式
- Linux Source命令
- Centos配置Caffe详解
- Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足
- Linux平台用C++实现信号量,同步线程
- Linux线程同步的三种控制方法
- Linux IO Scheduler(Linux IO 调度器)
- linux Vi编辑器的使用(基本操作)